我用這個正則表達式來驗證巴西手機:可能包含8或9個數字的正則表達式 - 如何操作?
/^(\([0-9]{2}\))\s([9]{1})?([0-9]{4})-([0-9]{4})$/
輸出:(31) 8876-3234
VALID
但是聖保羅狀態具有9個數字蜂窩電話:
輸出SP:(31) 98876-3234
當前正則表達式需要調整以接受也是有效的,a提示我應該改變什麼?
我用這個正則表達式來驗證巴西手機:可能包含8或9個數字的正則表達式 - 如何操作?
/^(\([0-9]{2}\))\s([9]{1})?([0-9]{4})-([0-9]{4})$/
輸出:(31) 8876-3234
VALID
但是聖保羅狀態具有9個數字蜂窩電話:
輸出SP:(31) 98876-3234
當前正則表達式需要調整以接受也是有效的,a提示我應該改變什麼?
您可以使用{m,n}
量詞來創建範圍:
/^(\([0-9]{2}\))\s([0-9]{4,5})-([0-9]{4})$/
雖然你的正則表達式似乎要被罰款,因爲它有一個可選的9
4個位數之前相匹配。但是,如果有任何可能的地方,除了9
之外,你可以使用這個正則表達式。
該死的,我怎麼會在我的搜索中錯過? >。>非常感謝! - 在10分鐘內接受答案 – 2013-02-21 19:29:14
@ user2056484。不客氣:) – 2013-02-21 19:30:30
在一個非相關話題中,你知道一個簡單的方法:當我點擊一個被屏蔽的輸入字段(帶有預定義的字段)時,總是轉到第一個字符而不是從中間開始它? – 2013-02-21 19:31:43
該正則表達式已經匹配額外的領先9. – 2013-02-21 19:28:13
適用於我沒有任何改變。 http://regexr.com?33s2j – Achrome 2013-02-21 19:28:16
順便說一句,你可以使用'\ d'而不是'[0-9]'來簡化你的正則表達式。另外'[9] {1}'是一個只包含一個字符並且重複一次的字符類,就像只寫'9'一樣。 – matts 2013-02-21 19:30:22