我正在尝试在 JavaScript 中使用正则表达式来测试表单文本输入的值是否是法国手机号码。
法国手机号码以
06
or开头,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 就不再起作用了。