[英]Regex to match a phone number that is not composed of all the same number
我需要一個正則表達式來匹配並非全部由相同號碼組成的電話號碼。 我說的是一個 10 位數的電話號碼,看起來像這樣 (123)123-1234。 我已經看到了將匹配都是一樣的手機模式,但我想匹配相反。
我想出了這個,非常接近,但還沒有完全到位。
^\\((\\d)(?!\\1{2})\\d{2}\\)(?!\\1{3})\\d{3}-(?!\\1{4})\\d{4}$
唯一失敗的地方是當區號都是相同的數字時,其他一切似乎都很好。 所以它會在這樣的事情上失敗(888)123-1234,但會通過(886)123-1234
我如何讓它接受最后的堅持?
我看過類似的問題
如何驗證電話號碼,以便它不允許在java中使用所有相同的數字,例如99999999999或11111111111
但是這個沒有考慮到 () 和 -,它也與我想要的相反。
和
這種看起來很有希望,但它沒有考慮到 () 和 -。
您可以使用此否定前瞻正則表達式:
^\((\d)(?!\1{2}\)\1{3}-\1{4}$)\d{2}\)\d{3}-\d{4}$
負前瞻(?!\\1{2}\\)\\1{3}-\\1{4}$)
只會在從頭到尾重復相同的數字時匹配失敗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.