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开头?您可以通过为国际号码制作单独的正则表达式来处理数据两次吗?我刚刚在这里分享了荷兰手机号码的答案: