我寫這個正則表達式來美國類型的電話號碼:如何改進這個正則表達式?
\(?\d{3}\)?(-|\s)\d{3}-\d{4}
這適用於電話號碼,如:
217-244-2424和 (217)244-2424。
但是它也適用於不平衡括號狀(217-244-2424
怎麼能正則表達式加以改進,以確保括號是平衡? (我知道的問上正則表達式的電話號碼的問題before,但我無法找到我是從那裏尋找)
我寫這個正則表達式來美國類型的電話號碼:如何改進這個正則表達式?
\(?\d{3}\)?(-|\s)\d{3}-\d{4}
這適用於電話號碼,如:
217-244-2424和 (217)244-2424。
但是它也適用於不平衡括號狀(217-244-2424
怎麼能正則表達式加以改進,以確保括號是平衡? (我知道的問上正則表達式的電話號碼的問題before,但我無法找到我是從那裏尋找)
我沒有測試過,但爲什麼不使用交替操作符(「|」)?你可以選擇有兩個括號,或者都不是:
(\(\d{3}\)|\d{3})(-|\s)\d{3}-\d{4}
manojlds已經比我快... – JonesV 2013-03-07 07:42:11
謝謝你。這比我想象的更簡單。 – user2063763 2013-03-07 07:49:30
我會回答你的正則表達式的具體問題,你可以嘗試這樣的東西來處理paranthesis:。
^(\(\d{3}\)|\d{3})-(\d{3})-(\d{4})$
明白了,謝謝! – user2063763 2013-03-07 07:52:59
爲什麼你不去掉非數字? – Blender 2013-03-07 07:33:42
可能重複的[電話號碼驗證綜合正則表達式](http://stackoverflow.com/questions/123559/a-comprehensive-regex-for-phone-number-validation) – Johnsyweb 2013-03-07 07:33:45
@Blender:是! http://stackoverflow.com/a/123681/78845 – Johnsyweb 2013-03-07 07:34:19