正则表达式国际电话号码允许空格

时间:2015-01-30 02:04:16

标签: regex whitespace phone-number

我正在尝试使用正则表达式验证国际电话号码。

这是我到目前为止所做的:

 ^\+?( |\(|\))*?\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 个答案:

答案 0 :(得分:0)

以下正则表达式可以帮助您。

^(?=(?:\D*\d\D*){8,14}$)[ -]*\+?[ -]*(?:\((?:[ -]*\d)+[ -]*\))?[- \d]*

DEMO

OR

^(?=(?:\D*\d\D*){8,14}$)[- \d()+]*

DEMO

\D匹配任何非数字字符。 (?=(?:\D*\d\D*){8,14}$)断言我们要匹配的字符串必须包含8到14位。

相关问题