java 中常用的正则表达式

(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();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值