我正在尝试实施一个正则表达式,允许我检查一个号码是否是一个有效的法国电话号码.
一定是这样的:
0X XX XX XX XX
Run Code Online (Sandbox Code Playgroud)
要么:
+33 X XX XX XX XX
Run Code Online (Sandbox Code Playgroud)
这是我实施的但是错了......
/^(\+33\s[1-9]{8})|(0[1-9]\s{8})$/
Run Code Online (Sandbox Code Playgroud)
Tho*_*oub 24
您可以使用:
^
(?:(?:\+|00)33|0) # Dialing code
\s*[1-9] # First number (from 1 to 9)
(?:[\s.-]*\d{2}){4} # End of the phone number
$
Run Code Online (Sandbox Code Playgroud)
见演示
它允许空格或.或-作为分隔符,或根本不允许使用分隔符
小智 8
一个复杂的例子(我正在使用的那个):
^(?:(?:\+|00)33[\s.-]{0,3}(?:\(0\)[\s.-]{0,3})?|0)[1-9](?:(?:[\s.-]?\d{2}){4}|\d{2}(?:[\s.-]?\d{3}){2})$
Run Code Online (Sandbox Code Playgroud)
例如,它匹配以下每一行:
0123456789
01 23 45 67 89
01.23.45.67.89
0123 45.67.89
0033 123-456-789
+33-1.23.45.67.89
+33 - 123 456 789
+33(0) 123 456 789
+33 (0)123 45 67 89
+33 (0)1 2345-6789
+33(0) - 123456789
Run Code Online (Sandbox Code Playgroud)
更多:
var phoneExp = /^((\+)33|0|0033)[1-9](\d{2}){4}$/g;
Run Code Online (Sandbox Code Playgroud)
它还考虑了 0033 情景。