Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式荷兰移动电话号码或国际号码_Regex - Fatal编程技术网

Regex 正则表达式荷兰移动电话号码或国际号码

Regex 正则表达式荷兰移动电话号码或国际号码,regex,Regex,我使用正则表达式验证荷兰手机号码: ^(\+316 | 06 | 00316){1}\\s?-?\s?[1-9]{1}[0-9]{7})$ 因此,数字应以06或+316或00316开头,后跟8位数字(不以0开头) 现在我必须扩展验证,以便它还允许来自荷兰以外的国际数字 我想保持简单,所以我想: 如果不是以06或+316或00316开头,则应以“00dd”或“+dd”开头,其中dd=31后跟8到12位数字 所以0032127384562应该匹配,但00317198765432不匹配(因为它以003

我使用正则表达式验证荷兰手机号码:

^(\+316 | 06 | 00316){1}\\s?-?\s?[1-9]{1}[0-9]{7})$

因此,数字应以06或+316或00316开头,后跟8位数字(不以0开头)

现在我必须扩展验证,以便它还允许来自荷兰以外的国际数字

我想保持简单,所以我想:

如果不是以06或+316或00316开头,则应以“00dd”或“+dd”开头,其中dd=31后跟8到12位数字

所以0032127384562应该匹配,但00317198765432不匹配(因为它以0031开头,但不是00316)


有人知道怎么做吗?

国际号码的正则表达式是:

^00(?!31)[0-9]{2}\s?-?\s?[1-9][0-9]{7,11}$
或者,如果您不能使用前瞻:

^00([0-24-9][0-9]|3[02-9])\s?-?\s?[1-9][0-9]{7,11}$
您可以将其与
|
和荷兰正则表达式连接起来


请注意,您的正则表达式在
\\

中有一个输入错误,即使是国际号码的8-12位数字也不能以0开头?您可以通过为国际号码制作单独的正则表达式来处理数据两次吗?我刚刚在这里分享了荷兰手机号码的答案: