Java正则表达式判断是否是汉字、字母、数字以及特殊字符工具类


/**
 * @Author charles.yao
 * @Description 字符串判断工具类
 * @Date 2024/10/29 14:22
 */
public class StrCheckUtils {
    //纯汉字
    private static final Pattern CHINESE_PATTERN = Pattern.compile("[\\u4e00-\\u9fa5]+");
    //纯数字
    private static final Pattern NUMBER_PATTERN = Pattern.compile("[0-9]+");
    //包含数字
    private static final Pattern CONTAIN_NUMBER_PATTERN = Pattern.compile(".*[0-9].*");
    //纯字母
    private static final Pattern LETTER_PATTERN = Pattern.compile("[a-zA-Z]+");
    //包含字母
    private static final Pattern CONTAIN_LETTER_PATTERN = Pattern.compile(".*[a-zA-z].*");
    //特殊字符
    private static final Pattern SPECIAL_CHARACTER_PATTERN = Pattern.compile("[[ _`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“'。,、?]|\\n|\\r|\\t]+");
    //包含特殊字符
    private static final Pattern CONTAIN_SPECIAL_CHARACTER_PATTERN = Pattern.compile(".*[[ _`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“'。,、?]|\\n|\\r|\\t].*");
    //只有数字和字母
    private static final Pattern NUMBER_LETTER_PATTERN = Pattern.compile("[0-9a-zA-z]+");
    //包含数字和字母
    private static final Pattern CONTAIN_NUMBER_LETTER_PATTERN = Pattern.compile(".*[0-9a-zA-z].*");


    /**
     * 是否纯汉字
     *
     * @param str
     * @return
     */
    public static boolean isChinese(String str) {
        return CHINESE_PATTERN.matcher(str).matches();
    }

    /**
     * 是否纯字母
     *
     * @param str
     * @return
     */
    public static boolean isNumber(String str) {
        return NUMBER_PATTERN.matcher(str).matches();
    }

    /**
     * 是否包含字母
     *
     * @param str
     * @return
     */
    public static boolean isContainNumber(String str) {
        return CONTAIN_NUMBER_PATTERN.matcher(str).find();
    }

    /**
     * 是否是纯字母-不区分大小写
     *
     * @param str
     * @return
     */
    public static boolean isLetter(String str) {
        return LETTER_PATTERN.matcher(str).matches();
    }

    /**
     * 是否包含字母-不区分大小写
     *
     * @param str
     * @return
     */
    public static boolean isContainLetter(String str) {
        return CONTAIN_LETTER_PATTERN.matcher(str).find();
    }

    /**
     * 是否是特殊字符
     *
     * @param str 参数
     * @return boolean
     */
    public static boolean isSpecialCharacter(String str) {
        return SPECIAL_CHARACTER_PATTERN.matcher(str).matches();
    }
    /**
     * 是否包含特殊字符
     *
     * @param str 参数
     * @return boolean
     */
    public static boolean isContainSpecialCharacter(String str) {
        return CONTAIN_SPECIAL_CHARACTER_PATTERN.matcher(str).matches();
    }

    /**
     * 是否只有数字和字母
     * @param str
     * @return
     */
    public static boolean isNumberAndLetter(String str) {
        return NUMBER_LETTER_PATTERN.matcher(str).matches();
    }
    /**
     * 是否包含数字和字母
     * @param str
     * @return
     */
    public static boolean isContainNumberAndLetter(String str) {
        return CONTAIN_NUMBER_LETTER_PATTERN.matcher(str).find();
    }
}```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值