我试图验证法国手机号码: 我已经删除了所有非数字字符和最后的00,规则是:
从06或07或09开始 是10位数长:
因此:
/^0(6|7|9)\d{8}$/
但(似乎)如果国家代码(33)存在,则必须避免前导零,但此时我无法创建正确的正则表达式,因为使用数字:
33614444444
/^(33|0)?(6|7|9)\d{8}$/
它有效,但也适用于
614444444
虽然它不应该
可以建议解决方案吗?
答案 0 :(得分:2)
为什么不简单地使用/^(33|0)(6|7|9)\d{8}$/
?
我认为您不需要量词?
。
在?
之后添加(33|0)
。它意味着它们中没有一个存在或33
或0
中的一个存在。它将匹配以下所有内容 -
614444444 // none present
0614444444 // 0 present
33614444444 // 33 present
答案 1 :(得分:2)