LeoYan Blog

技术分享,生活记录。

0%

小功能之手机号验证的正则表达式

转载请注明出处:www.leoyanblog.com

本文出自 LeoYan 的博客

本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 LeoYan 即可关注。

手机号验证的正则表达式

1、手机号开头集合

1
2
3
4
5
176177178
180181182183184185186187188189
145147
130131132133134135136137, 138139
150151, 152153155156157158159

2、正则表达式

1
2
3
4
5
6
public static boolean isChinaPhoneLegal(String str) throws PatternSyntaxException {  
String regExp = "^((13[0-9])|(15[^4])|(18[0-9])|(17[0-8])|(147,145))\\d{8}$";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(str);
return m.matches();
}

13开头的后面跟0-9的任意8位数;

15开头的后面跟除了4以外的0-9的任意8位数;

18开头的后面跟0-9的任意8位数;

17开头的后面跟0-8的任意8位数,或者17[^9];

147,145开头后面跟任意8位数;