我是新来的红宝石在轨道上。我使用POST从表单传递参数ISDCode,AreaCode和电话号码。从特定字符串提取信息
我有一个字符串,其格式countryName(ISDCode)的信息在变量ISDCode中传递。例如“美利坚合众国(+1)”。
现在我只想在数据库中保存ISDCode的值。
什么是从字符串中提取ISD代码的理想方法?
我应该在Javascript中提取JavaScript中的ISD代码之前用户发布表单或应该使用回调在模型中提取它?
也是正则表达式提取信息的唯一方法?
我是新来的红宝石在轨道上。我使用POST从表单传递参数ISDCode,AreaCode和电话号码。从特定字符串提取信息
我有一个字符串,其格式countryName(ISDCode)的信息在变量ISDCode中传递。例如“美利坚合众国(+1)”。
现在我只想在数据库中保存ISDCode的值。
什么是从字符串中提取ISD代码的理想方法?
我应该在Javascript中提取JavaScript中的ISD代码之前用户发布表单或应该使用回调在模型中提取它?
也是正则表达式提取信息的唯一方法?
由于字符串是自动完成的ISDcodes应该在你的数据库中已有的。所以最好的解决方案可能包括一个额外的参数(带有隐藏的输入),比如isdcode_id,那么你只需在你的模型中使用isdcode_id。这样可以避免解析字符串的麻烦。
如果这不可行,正则表达式可能是提取信息的最佳方式。你可以重写模型中的setter来完成它。
使用正则表达式匹配ISDcode
"United States of America(+1)" =~ /(\+[\d]+)/
puts $1
如果您有兴趣获得单独刚刚ISD代码,这应该工作:
"United States of America(+1)".gsub!(/[^\+\d]/, "")
注意:您可以在视图助手有这个,只是呼吁串助手持久之前
已经回答了,但我想提供一个替代得到ISD代码:
isd = "United States(+1)"
puts isd[/[+]*[\d]{1,4}/] # +1
这正则表达式匹配: +1 +01 等
我已经使用CountryName(ISDCode)格式,以便在一个文本字段中使用auto complete。 – nightf0x 2012-02-26 11:35:05