我有一个正则表达式,以检查(法语)电话号码是否正确的问题。 电话号码必须以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