java正则表达式过滤工具类

正则表达式过滤工具类

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @Description :
 * @Date : 2023/7/7
 * @Author :
 */
public class CheckUtil {
    private static  final String V_NUMBER = "^([1-9]{1}[0-9]{0,})$";

    private static  final String V_NUMBER_DECIMAL = "^\\d+(\\.\\d{1,})$|(^[1-9]\\d*$)";

    private static  final String V_NUMBER_COMMA = "^[\\d,,]{1,}$";
    /**
     * 验证是否是数字
     *
     * @param value 要验证的字符串
     * @return 如果是符合格式的字符串, 返回 true ,否则为 false
     */
    public static boolean isNumber(String value) {
        return match(V_NUMBER, value);
    }

    /**
     * 验证是否是数字或小数
     *
     * @param value 要验证的字符串
     * @return 如果是符合格式的字符串, 返回 true ,否则为 false
     */
    public static boolean isNumOrDecimal(String value) {
        return match(V_NUMBER_DECIMAL, value);
    }

    /**
     * 验证是否只包含逗号和数字
     * @param value
     * @return
     */
    public static boolean isNumComma(String value) {
        return match(V_NUMBER_COMMA, value);
    }


    /**
     * @param regex 正则表达式字符串
     * @param str   要匹配的字符串
     * @return 如果str 符合 regex的正则表达式格式,返回true, 否则返回 false;
     */
    private static boolean match(String regex, String str) {
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(str);
        return matcher.matches();
    }

    public static void main(String[] args) {
        boolean number = CheckUtil.isNumOrDecimal("1");
        System.out.println("boolean");
    }
}
posted @ 2023-07-17 15:01  spiderMan1-1  阅读(121)  评论(0编辑  收藏  举报