我一直在网上查看各种regex
的电话号码验证。当然有数百种不同的例子,因为有数百种不同格式的电话号码......
我决定自己写自己有两个原因。
但是,我有几个问题,我想知道你们中的一些人可能会帮助我清理,以使我的正则表达更好。
我正在寻找的数字格式如下:
目前我有这个:
([+][353]{3})[\d\s]{7,11}|([+][44]{2})[\d\s]{7,11}
这使我能够以如下格式输入数字:
+ 353xxxxxxx或+ 44xxxxxxx
我遇到的问题是它正在计算{7,11}
中的空格,因此如果有人进入:
+353 xxx xxx xxx它不会验证
我正试图找出一种方法,我可以在任何数字0 - 9之间留出空格,但将数字限制为11。
所以有可能有人可以出现并输入这个数字:
+353 12 34 56 78
非常感谢任何帮助。
答案 0 :(得分:6)
我想要的数字格式如下:
必须以+353或+44开头 数字0 - 9 能够在数字之间包含空格
这很简单:
\+(353|44)(\s*\d)+
作为一项改进,您可能需要在国际前缀后面的某个数字范围。例如:
^\+(353|44)(\s*\d){9,12}$
将匹配+44
或+353
,后跟9到12位数字(带可选空格)。 ^
和$
匹配字符串的开头和结尾,因此数字开头或结尾的其他字符将导致匹配失败。