要更加准确的匹配手机号码只匹配11位数字是不够的,比如说就没有以144开始的号码段,
国家号码段分配如下:
移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
联通:130、131、132、152、155、156、185、186
电信:133、153、180、189、(1349卫通)
public static boolean isPhoneNo(String param){
String regEx = "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(param);
return m.find();
}
固话的匹配模式:
public static boolean isPhoneNo(String param){
String regEx1 ="1([\\d]{10})|((\\+[0-9]{2,4})?\\(?[0-9]+\\)?-?)?[0-9]{7,8}";
Pattern p = Pattern.compile(regEx1);
Matcher m = p.matcher(param);
return m.find();
}