我正在尝试使用正则表达式来验证国际电话号码 .
这是我到目前为止:
^\+?( |\(|\))*?\d{8,14}$
我的目标是允许的总数是8-14 . 此外,允许在数字之间或之前存在尽可能多的空格和短划线 .
例子:
12345678901234
123 456789 0 1 2 3 4
+1 2345678901234
(12) 3 4 56 7 8 9 01234
1-2-3-4-5-6-7 8 9 0 123 4
我不知道该如何解决这个问题 .
谢谢 .
1 回答
以下正则表达式可以帮到你 .
DEMO
要么
DEMO
\D
匹配任何非数字字符 .(?=(?:\D*\d\D*){8,14}$)
断言我们要匹配的字符串必须包含8到14位数字 .