法国电话号码的正则表达式

Bap*_*aud 11 regex

我正在尝试实施一个正则表达式,允许我检查一个号码是否是一个有效的法国电话号码.

一定是这样的:

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)

演示


它允许空格或.-作为分隔符,或根本不允许使用分隔符

  • JavaScript 示例: `'+33678787878'.match(/^(?:(?:\+|00)33|0)\s*[1-9](?:[\s.-]*\d{2 }){4}$/gmi)` (3认同)

小智 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)

更多:


Hug*_*ial 5

var phoneExp = /^((\+)33|0|0033)[1-9](\d{2}){4}$/g;
Run Code Online (Sandbox Code Playgroud)

它还考虑了 0033 情景。