我正在尝试在JavaScript中使用正则表达式来测试表单文本输入的值是否为法国手机号码。
法语手机号码以开头
06
或
07
后跟8位数字,如下所示:
0611223344
或
0744332211
这些数字的国际形式以
+33
它取代了第一个
0
,例如:
+33611223344
或
+33744332211
.
我正在使用此RegEx:
(\+\b33|\b0)[67][0-9]{8}\b
,它测试输入是否以+336/7或06/7开头,后跟8位数字。
我添加了单词边界(
\b
)所以像06112233440611223344这样的数字(两个连接的正确形式)不匹配。
此RegEx适用于以下情况:
0611223344 // matches
0744332211 // matches
+33611223344 // matches
+33744332211 // matches
06112233440744332211 // doesn't match
但我仍然遇到这些输入的问题:
+33611223344+33611223344
0611223344 0744332211
0744332211+33611223344
0744332211 +33611223344
它们都匹配。。。
我试图添加
^
和
$
以所有可能的方式添加到我的RegEx,但每当我添加其中一个符号时,RegEx就不再工作了。