我使用正则表达式验证荷兰手机号码:
^((\+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开头)
有人知道怎么做吗?
答案 0 :(得分:0)
国际号码的正则表达式是:
^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}$
您可以将其与|
和荷兰正则表达式连接起来。
请注意,\\
的正则表达式中存在拼写错误。