Java常用正则表达式大全(数字/邮箱/手机/英文字母...)


一、正则表达式

package com.constants;

/**
 *  正则表达式类
 */
public class RegularConstants {
    //数字
    public static final String NUMBER = "^-?[0-9]+";

    //邮箱
    public static final String EMAIL = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";

    //手机
    public static final String PHONE = "^1([12345789][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$";

    //只校验手机为11位
    public static final String PHONE_TWO = "^1\\d{10}$";

    //整数或者小数:
    public static final String INTEGER_OR_FLOAT = "^[0-9]+=\\.{0,1}[0-9]{0,2}$";

    //n位的数字
    public static final String NUMBER_LEN = "^\\d{n}$";

    //n位的数字
    public static final String NUMBER_MIN_LEN = "^\\d{n,}$";

    //m~n位的数字
    public static final String NUMBER_LEN_RANGE = "^\\d{m,n}$";

    //零和非零开头的数字
    public static final String NUMBER_LEN_UNSIGNED_CONTAINS_ZERO = "^(0|[1-9][0-9]*)$";

    //有两位小数的正实数
    public static final String FLOAT_TWO_LEN = "^[0-9]+(.[0-9]{2})?$";

    //有两位小数的正实数
    public static final String FLOAT_LEN_RANGE = "^[0-9]+(.[0-9]{1,3})?$";

    //非零的正整数
    public static final String NUMBER_UNSIGNED = "^\\+?[1-9][0-9]*$";

    //非0的负数
    public static final String NUMBER_NOT_UNSIGNED = "^\\-[1-9][]0-9\"*$";

    //3位字符串
    public static final String STRING_THREE_LEN = "^.{3}$";

    //所有英文字母
    public static final String STRING_ALL_EN_CHARS = "^[A-Za-z]+$";

    //由26个大写英文字母组成的字符串
    public static final String STRING_UPPER_EN_CHARS = "^[A-Z]+$";

    //由26个小写英文字母组成的字符串
    public static final String STRING_LOWER_EN_CHARS = "^[a-z]+$";

    //由数字和26个英文字母组成的字符串
    public static final String STRING_ALL_EN_CHARS_AND_NUMBER = "^[A-Za-z0-9]+$";

    //由数字和26个英文字母组成的字符串
    public static final String STRING_ALL_EN_CHARS_AND_UNDER_LINE = "^\\w+";

    //验证用户密码, 正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
    public static final String PASSWORD = "^[a-zA-Z]\\w{5,17}$";

    //验证码, 正确格式为:4位数字验证码。
    public static final String SMS_VALIDATE_CODE_NUM = "^\\d{6}$";

    //验证码, 正确格式为:6位数字验证码。
    public static final String VALIDATE_CODE_NUM_SIX = "^\\d{6}$";

    //汉字
    public static final String CHINESE = "^[\\u4e00-\\u9fa5]{0,}$";

    //url http开头
    public static final String URL = "^http://([\\w-]+\\.)+[\\w-]+(/[\\w-./?%&=]*)?$";

    //电话 正确格式为:"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"
    public static final String TEL = "^(\\(\\d{3,4}-)|\\d{3.4}-)?\\d{7,8}$";

    //验证身份证号 (15位或18位数字)
    public static final String ID_CARD = "^\\d{15}|\\d{18}$";

    // 验证一年的12个月 正确格式为:"01"~"09"和"1"~"12"
    public static final String MONTH = "^(0?[1-9]|1[0-2])$";

    // 验证一个月的31天 正确格式为;"01"~"09"和"1"~"31"
    public static final String DAY = "^((0?[1-9])|((1|2)[0-9])|30|31)$";

    // 匹配空行的正则表达式
    public static final String EMPTY_LINE = "\\n[\\s| ]*\\r";

    // 匹配html标签的正则表达式
    public static final String HTML_TAG = "<(.*)>(.*)<\\/(.*)>|<(.*)\\/>";

    // 匹配首尾空格的正则表达式
    public static final String TRIM = "(^\\s*)|(\\s*$)";

}

二、示例

@ApiModelProperty(value = "手机号", required = true)
@NotBlank(message = "手机号不能为空")
@Pattern(regexp = RegularConstants.PHONE, message = "手机号码格式错误")
private String phone;

@ApiModelProperty(value = "密码", required = true)
@Pattern(regexp = RegularConstants.PASSWORD, message = "密码格式错误,密码必须以字母开头,长度在6~18之间,只能包含字符、数字和下划线")
private String password;

@ApiModelProperty(value = "验证码", required = true)
@Pattern(regexp = RegularConstants.SMS_VALIDATE_CODE_NUM, message = "验证码格式错误,验证码必须为4位数字")
private String validateCode;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值