不知道是不是太简单了,感觉现在1XX开头的太多了,数不过了。干脆判断是不是1开头的纯11位数字算了。
public static boolean isMobile(String mobile) {
if (StringUtils.isNull(mobile)) {
return false;
}
//要求严格的话可改成startsWith139 188 155.....
if (!mobile.startsWith("1")||mobile.length() != 11) {
return false;
}
try {
Long.parseLong(mobile);
} catch (NumberFormatException e) {
return false;
}
return true;
}
public static void main(String[] args) {
String mobile1="1343434";
String mobile2="135344454534";
String mobile3="13534445454";
String mobile4="13534aaaa54";
System.err.println(isMobile(mobile1));
System.err.println(isMobile(mobile2));
System.err.println(isMobile(mobile3));
System.err.println(isMobile(mobile4));
}
console:
false
false
true
false