没什么好说的,上代码:
/**
*
* @param mobile 手机号
* @return
* @throws PatternSyntaxException
* 正则表达式判断是否是手机号
*/
public static boolean isChinaMobile(String mobile) throws PatternSyntaxException{
if(mobile == null){
return false;
}
if(mobile.length() != 11){
return false;
}
/**
* "[1]"代表下一位为数字可以是几,"[0-9]"代表可以为0-9中的一个,"[5,7,9]"表示可以是5,7,9 中的任意一位,
* [^4]表示除4以外的任何一个,\\d{9}"代表后面是可以是0~9的数字,有9位。
*/
String regExp = "^((13[0-9])|(14[5,7,9])|(15[^4])|(18[0-9])|(17[0,1,3,5,6,7,8]))\\d{8}$";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(mobile);
return m.matches();
}