手机号码正则表达式写法
最近做项目用到手机号相关的信息,网上查了一下发现都是旧的,我补充上,和大家分享。(会不定期更新)
转载请注明出处:http://blog.csdn.net/cnwutianhao/article/details/52174203
注:虚拟运营商不在范围内
13号段:130(联通)、131(联通)、132(联通)、133(电信)、134(移动)、135(移动)、136(移动)、137(移动)、138(移动)、139(移动)
14号段:145(联通)、147(移动)、149(电信)
15号段:150(移动)、151(移动)、152(移动)、153(电信)、154(电信)、155(联通)、156(联通)、157(移动)、158(移动)、159(移动)
17号段:171(联通)、172(联通)、173(联通)、174(联通)、175(联通)、176(联通)、177(电信)、178(移动)、179(移动)
18号段:180(电信)、181(电信)、182(移动)、183(移动)、184(移动)、185(联通)、186(联通)、187(移动)、188(移动)、189(电信)
14号段:145(联通)、147(移动)、149(电信)
15号段:150(移动)、151(移动)、152(移动)、153(电信)、154(电信)、155(联通)、156(联通)、157(移动)、158(移动)、159(移动)
17号段:171(联通)、172(联通)、173(联通)、174(联通)、175(联通)、176(联通)、177(电信)、178(移动)、179(移动)
18号段:180(电信)、181(电信)、182(移动)、183(移动)、184(移动)、185(联通)、186(联通)、187(移动)、188(移动)、189(电信)
因为我做的是安卓的项目,所以Java的正则表达式是:
public static boolean isMobileNO(String mobiles) { Pattern p = Pattern.compile("^((13[0-9])|(14[5,7,9])|(15[0-9])|(17[^0,\\D])|(18[0-9]))\\d{8}$"); Matcher m = p.matcher(mobiles); return m.matches(); }
如有错误请指正!