「工具」正则表达式

import java.util.regex.Pattern;

/**
 * @version 1.0.0
 * @ClassName RegExUtil.java
 * @Description 正则表达式
 */
public final class RegExUtil {


    /**----------------------数字相关的正则表达式--------------*/
    /**
     * 非0的正整数
     */
    public static final String POSITIVE_NONZERO_INTEGER_REG_EXPRESSION = "^[1-9]\\d*$";

    /**----------------------字符串相关的正则表达式--------------*/
    /**
     * 汉字,不能包含非汉字的
     */
    public static final String CHINESE_REG_EXPRESSION = "^[\\u4e00-\\u9fa5]{0,}$";

    /**
     * 英文和数字
     */
    public static final String ENGLISH_NUMBER_REG_EXPRESSION = "^[A-Za-z0-9]+$";

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

    /**
     * 由数字、26个英文字母或者下划线组成的字符串
     */
    public static final String LETTER_NUMBER_OR_UNDERLINE_REG_EXPRESSION = "^\\w+$";

    /**
     * 中文、英文、数字包括下划线
     */
    public static final String CHINESE_LETTER_NUMBER_UNDERLINE_REG_EXPRESSION = "^[\\u4E00-\\u9FA5A-Za-z0-9_]+$";

    /**
     * 特殊字符
     */
    public static final String SPECIAL_CHARACTER_REG_EXPRESSION = "[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]";


    /**----------------------其他常用的正则表达式--------------*/
    /**
     * 手机号
     */
    public static final String MOBILE_REG_EXPRESSION = "^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\\d{8}$";

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

    /**
     * 国内电话号码(0511-4405222、021-87888822):
     */
    public static final String TELEPHONE_REG_EXPRESSION = "\\d{3}-\\d{8}|\\d{4}-\\d{7}";

    /**
     * 帐号是否合法(字母开头,允许5-16字符,允许字母数字下划线):
     */
    public static final String ACCOUNT_REG_EXPRESSION = "^[a-zA-Z][a-zA-Z0-9_]{4,15}$";

    /**
     * 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):
     */
    public static final String PASSWORD_REG_EXPRESSION = "^[a-zA-Z]\\w{5,17}$";

    /**
     * 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):
     */
    public static final String STRONG_PASSWORD_REG_EXPRESSION = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$";

    /**
     * 中国邮政编码: (中国邮政编码为6位数字)
     */
    public static final String POST_CODE_REG_EXPRESSION = "[1-9]\\d{5}(?!\\d)";

    private RegExUtil() {
    }

    /**
     * 通用正则表达式校验
     *
     * @param value 待校验的值
     * @param regex 正则表达式
     * @return 布尔值,true有效,false无效
     */
    public static boolean checkValueValid(String value, String regex) {
        return Pattern.matches(regex, value);
    }
}

 

上一篇:正则(25)


下一篇:Verilog的无符号移位运算(“>>“和“<<“)和算术移位运算(“<<<“和“>>>“)的设计