[求]手机号码和固话号码正则表达式

2024-12-04 15:00:38
推荐回答(4个)
回答1:

明白楼主的意思了,单独使用手机部分和固话部分的正则,得到号码非法,也就是说正则判断正确!

使用连接起来的表达式,号码通过。原因:"|"连接符;由于此连接符优先级最低,所以它将连接后的表达式分为两个部分

^(0?1[358]\d{9}) 和 ((0(10|2[1-3]|[3-9]\d{2}))?[1-9]\d{6,7})$

导致了连接后的表达表达意思错误,解决方法有两种:

^(0?1[358]\d{9})$|^((0(10|2[1-3]|[3-9]\d{2}))?[1-9]\d{6,7})$
或者
^((0?1[358]\d{9})|((0(10|2[1-3]|[3-9]\d{2}))?[1-9]\d{6,7}))$

也就是在^和$中间加一对括号。

================

还有不明白的,可以发Hi消息。

回答2:

^(0?1[358]\d{9})|^((0(10|2[1-3]|[3-9]\d{2}))?[1-9]\d{6,7})$
他是迭代匹配的。

回答3:

8383463回答的有道理,学习了

回答4:

这是什么来的,看不懂,帮你顶上去....