我是新來的紅寶石在軌道上。我使用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