我有一個正則表達式,以檢查(法語)電話號碼是否正確的問題。 電話號碼必須以1開頭0繼續1或2或3或4或5或9並繼續8個數字,但這些數字不能像00000000或11111111一樣...檢查是否00000000或11111111或22222222等
我目前的正則表達式:
/^0(1|2|3|4|5|9){1,1}[0-9]{8,8}/i
在此先感謝您的幫助。
我有一個正則表達式,以檢查(法語)電話號碼是否正確的問題。 電話號碼必須以1開頭0繼續1或2或3或4或5或9並繼續8個數字,但這些數字不能像00000000或11111111一樣...檢查是否00000000或11111111或22222222等
我目前的正則表達式:
/^0(1|2|3|4|5|9){1,1}[0-9]{8,8}/i
在此先感謝您的幫助。
您可以使用以下正則表達式:
/^0[1-59](?!(\d)\1{7}$)\d{8}$/i
幾點:
{1,1}
是被刪除的好。{8,8}
與{8}
一樣好。 [1234]
[12345]
可通過範圍在字符類來代替 - -(1|2|3|4..)
可以與字符類來代替[1-5]
上述正則表達式使用負先行斷言 - (?!(\d)\1{7})
斷言,8個位數在第一個2之後,並不完全相同。如果斷言是真實的,那麼它匹配接下來的8位數字。
(\d)
捕捉在第1組\1
反向引用所捕獲組來匹配由\d
{7}
7倍相匹配的反向引用匹配的相同的數字。這意味着 - (\d)\1{7}
匹配8次相同的數字。
請注意,{n,n}與{n}相同,您可以完全刪除「{1,1}」,因爲默認值爲「單一匹配」。 – h2ooooooo
根據正則表達式標記,你使用哪種語言的正則表達式? – zzzzBov
'0122224444'它有效嗎?或者'0133333334'? – HamZa