Javascript正则表达式验证电话号码
我需要通过正则表达式验证电话号码。电话号码应该是Javascript正则表达式验证电话号码,javascript,regex,Javascript,Regex,我需要通过正则表达式验证电话号码。电话号码应该是 从(9 | 09 | 8869 |+8869)开始 后跟8位数字[0-9] 我提出了/(09 | 9 | 8869 |+8869)[0-9]{8}$/g。 我使用+8869900000000进行测试,预计它不会匹配,但实际上它通过了测试 你能帮我解决正则表达式的问题吗?我该如何修复它呢?您正在寻找的正则表达式是:^([0]?9)|([+]?8869))[0-9]{8}$ 注意圆括号用于确定条件的方式。我们需要在2个子集中的任何一个子集中进行匹
- 从(9 | 09 | 8869 |+8869)开始
- 后跟8位数字[0-9]
/(09 | 9 | 8869 |+8869)[0-9]{8}$/g
。
我使用+8869900000000进行测试,预计它不会匹配,但实际上它通过了测试
你能帮我解决正则表达式的问题吗?我该如何修复它呢?您正在寻找的正则表达式是:
^([0]?9)|([+]?8869))[0-9]{8}$
注意圆括号用于确定条件的方式。我们需要在2个子集中的任何一个子集中进行匹配,然后在它前面加上8位数字。您可以使用这个正则表达式:
/^(0?9?\+?8869)\d{8}$/
组(0?9 |+?8869)用于起始条件,其中0在9之前是可选的,而+在8869之前是可选的
演示:
+
是一个无效的模式-您不能重复这样的替换。/(09 | 9 | 8869)[0-9]{8}$/g
是否正确?我允许用户输入+
您应该像\+
一样转义+
,您可以添加一个锚来断言字符串的开头^(?:09 | 9 | 8869 | 8869)[0-9]{8}$
如果您不需要捕获组,您可以使用(?:
^(09 | 9 | 8869 | 8869 |)[0-9]}{8}{$您可以省略两组括号,并且0不必位于方括号之间^(0?9 |[+]?8869)[0-9]{8}$