java 中校验手机号码正则表达式

需要通过的手机号:

中国移动:134、135、136、137、138、139、148、150、151、152、157(TD)、158、159、182、183、184、187、178、188、198、147(数据卡号段) 、1705(虚拟运营商移动号段)、144十三位移动物联网

中国联通:130、131、132、145(数据卡号段)155、146、156、166、176、185、186、1709(虚拟运营商联通号段)、141十三位电信物联网

中国电信:133、153、177、180、181、189、199、1740、1349(卫星通讯号段)、1741(卫星通信号段)、1700(虚拟运营商电信号段)


整理后:

130、131、132、133、134、135、136、137、138、139、
145、146、147、148、
150、151、152、153、155、156、157、158、159、
166、
176、177、178、

180、181、182、183、184、185、186、187、188、189、198、199、

正则

^((13[0-9])|(14[5-8])|(15([0-3]|[5-9]))|(16[6])|(17[0|4|6|7|8])|(18[0-9])|(19[8-9]))\d{8}$



特殊:

1349、1700、1705、1740、1741、

正则

^((134[9])|(170[0|5])|(174[0|1]))\d{7}$



十三位:

141、144、

正则

^(14[1|4])\d{10}$


全部校验的正则:

(^((13[0-9])|(14[5-8])|(15([0-3]|[5-9]))|(16[6])|(17[0|4|6|7|8])|(18[0-9])|(19[8-9]))\d{8}$)|(^((170[0|5])|(174[0|1]))\d{7}$)|(^(14[1|4])\d{10}$)


正则新手,如果有更好的正则,请留言指导

猜你喜欢

转载自blog.csdn.net/dabingshui/article/details/80498622