/** * 电话号码验证 * * @param areacode * 国际区号代码,例如 中国为(+86) * @param phone * 电话号码 * @return */ public static boolean isPhoneNumberValid(String areacode, String phone) { if (Common.isNullOrEmpty(areacode) || Common.isNullOrEmpty(phone)) { return false; } else if ("+86".equals(areacode)) { return isPhoneNumberValid(phone); } else { return isForeignPhoneNumberValid(phone); } }
/** * 国内电话号码验证 * * @param phoneNumber * @return */ public static boolean isPhoneNumberValid(String phoneNumber) { // "^//(?(//d{3})//)?[- ]?(//d{4})[- ]?(//d{4})$" Pattern pattern = Pattern .compile("^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))\\d{8}$"); Matcher m = pattern.matcher(phoneNumber); return m.matches(); }/** * 国外电话号码验证 判断是否是5到20位的纯数字 * * @param phoneNumber * @return */ public static boolean isForeignPhoneNumberValid(String phoneNumber) { Pattern p = Pattern.compile("^[\\d]{5,20}$"); return p.matcher(phoneNumber).matches(); }