(1)匹配大小写字母 private static final String REG_ALPHA = "^[a-zA-Z]+$"; (2)匹配大小写字母加数字 private static final String REG_ALPHANUM = "^[a-zA-Z0-9]+$"; (3)匹配数字 private static final String REG_NUMBER = "^\\d+$"; (4)匹配小数 private static final String REG_START_NUMBER = "^(\\d+)(.*)"; (5)匹配整数 private static final String REG_INTEGER = "^[-+]?[1-9]\\d*$|^0$/"; (6)匹配浮点数 private static final String REG_FLOAT = "[-\\+]?\\d+(\\.\\d+)?$"; (7)匹配电话号码 private static final String REG_PHONE = "^((\\(\\d{2,3}\\))|(\\d{3}\\-))?(\\(0\\d{2,3}\\)|0\\d{2,3}-)?[1-9]\\d{6,7}(\\-\\d{1,4})?$"; (8)匹配手机号 private static final String REG_MOBILE = "^((\\+86)|(86))?(1)\\d{10}$"; (9)匹配邮箱地址 private static final String REG_EMAIL = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$"; private static final String REG_ZIP = "^[1-9]\\d{5}$"; (10)匹配ip地址 private static final String REG_IP = "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"; (10)匹配url地址 private static final String REG_URL = "^(http|https|ftp):\\/\\/(([A-Z0-9][A-Z0-9_-]*)(\\.[A-Z0-9][A-Z0-9_-]*)+)(:(\\d+))?\\/?/i"; (11)匹配中文 private static final String REG_CHINESE = "^[\\u0391-\\uFFE5]+$"; (12)匹配金钱 private static final String REG_MONEY = "[\\-\\+]?\\d+(\\.\\d+)?$";
public static boolean isAlpha(String value) { if (isNull(value)) return false; return Pattern.matches(REG_ALPHA, value); } public static boolean isAlphanum(String value) { if (isNull(value)) return false; return Pattern.matches(REG_ALPHANUM, value); } public static boolean isNumber(String value) { if (isNull(value)) return false; return Pattern.matches(REG_NUMBER, value); } public static boolean isStartNumber(String value) { if (isNull(value)) return false; return Pattern.matches(REG_START_NUMBER, value); } public static boolean isInteger(String value) { if (isNull(value)) return false; return Pattern.matches(REG_INTEGER, value); } public static boolean isFloat(String value) { if (isNull(value)) return false; return Pattern.matches(REG_FLOAT, value); } public static boolean isMoney(String value) { if (isNull(value)) return false; return Pattern.matches(REG_MONEY, value); } public static boolean isPhone(String value) { if (isNull(value)) return false; return Pattern.matches(REG_PHONE, value); } public static boolean isMobile(String value) { if (isNull(value)) return false; return Pattern.matches(REG_MOBILE, value); } public static boolean isEmail(String value) { if (isNull(value)) return false; return Pattern.matches(REG_EMAIL, value); } public static boolean isZip(String value) { return Pattern.matches(REG_ZIP, value); } public static boolean isIP(String value) { return Pattern.matches(REG_IP, value); } public static boolean isURL(String value) { return Pattern.matches(REG_URL, value); } public static boolean isChinese(String value) { return Pattern.matches(REG_CHINESE, value); } /** * 验证是否为合法身份证 * * @param value * @return */ public static boolean isIdcard(String value) { value = value.toUpperCase(); if (!(Pattern.matches("^\\d{17}(\\d|X)$", value) || Pattern.matches("\\d{15}$", value))) { return false; } int provinceCode = Integer.parseInt(value.substring(0, 2)); if (provinceCode < 11 || provinceCode > 91) { return false; } return true; } /** * 验证是否为日期 * * @param value * @return */ public static boolean isDate(String value) { if (value == null || value.isEmpty()) return false; try { new SimpleDateFormat().parse(value); return true; } catch (ParseException e) { e.printStackTrace(); return false; } } /** * 内容摘要: 检查邮件地址是否合法 * * @param email * @return 如果合法返回true */ public static boolean validateEmail(String email) { if (email == null) { return false; } Pattern p = Pattern.compile("\\w+@(\\w+.)+[a-z]{2,3}"); Matcher m = p.matcher(email); return m.matches(); }