管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-11-23 5feada6313b03dc13b348351807a4e29f8d2efd3
src/main/java/com/lf/server/helper/StringHelper.java
@@ -1,5 +1,7 @@
package com.lf.server.helper;
import com.lf.server.entity.all.StaticData;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
@@ -13,7 +15,7 @@
    /**
     * 数字正则
     */
    public static final Pattern NUMBER_PATTERN = Pattern.compile("^[-\\+]?[\\d]*[.]?[\\d]*$");
    public static final Pattern NUMBER_PATTERN = Pattern.compile("-?\\d+(\\.\\d+)?");
    /**
     * 格式化当前系统日期 1
@@ -26,13 +28,34 @@
    public static final SimpleDateFormat YMDHMS_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    /**
     * 判断字符串,是否为数字
     *
     * @param str
     * @return
     * 格式化当前系统日期 3
     */
    public static boolean isNumber(String str) {
        return NUMBER_PATTERN.matcher(str).matches();
    public static final SimpleDateFormat YMD2_FORMAT = new SimpleDateFormat("yyyyMMdd");
    /**
     * 格式化当前系统日期 4
     */
    public static final SimpleDateFormat YMDHMS2_FORMAT = new SimpleDateFormat("yyyyMMddHHmmss");
    /**
     * 判断字符串,是否为整数
     */
    public static boolean isInteger(String str) {
        return str != null && str.matches("[0-9]+");
    }
    /**
     * 判断字符串,是否为浮点数
     */
    public static boolean isNumeric(String str) {
        return str != null && str.matches("-?\\d+(\\.\\d+)?");
    }
    /**
     * 判断字符串,是否为浮点数
     */
    public static boolean isNumeric2(String str) {
        return str != null && NUMBER_PATTERN.matcher(str).matches();
    }
    /**
@@ -41,10 +64,12 @@
    public static Pattern datePattern = Pattern.compile("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/]((((0?[13578])|(1[02]))[\\-\\/]((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/]((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/]((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/]((((0?[13578])|(1[02]))[\\-\\/]((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/]((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/]((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$");
    /**
     * SQL正则
     */
    public static Pattern sqlPattern = Pattern.compile("|and|exec|execute|insert|select|delete|update|count|drop|\\*|%|chr|mid|master|truncate|char|declare|sitename|net user|xp_cmdshell|;|or|-|\\+|,|like");
    /**
     * 字符串转为日期
     *
     * @param str
     * @return
     */
    public static Date parseDate(String str) {
        try {
@@ -56,9 +81,6 @@
    /**
     * 字符串转为日期时间
     *
     * @param str
     * @return
     */
    public static Date parseTime(String str) {
        try {
@@ -70,9 +92,6 @@
    /**
     * 判断值是否为日期格式
     *
     * @param strDate
     * @return
     */
    public static boolean isDate(String strDate) {
        Matcher m = datePattern.matcher(strDate);
@@ -81,10 +100,7 @@
    }
    /**
     * 字符串,是否为null或""
     *
     * @param str
     * @return
     * 字符串,是否为null 或 ""
     */
    public static boolean isNull(String str) {
        return null == str || str.length() == 0;
@@ -92,21 +108,58 @@
    /**
     * 字符串,是否为空null和空格
     *
     * @param str
     * @return
     */
    public static boolean isEmpty(String str) {
        return str == null || "".equals(str.trim());
        return null == str || "".equals(str.trim());
    }
    /**
     * 获取 like 字符串
     */
    public static String getLikeStr(String str) {
        return StringHelper.isEmpty(str) ? null : "%" + str.trim() + "%";
    }
    /**
     * 获取 like 字符串-2
     */
    public static String getLikeStr2(String str) {
        return StringHelper.isEmpty(str) ? "%" : "%" + str.trim() + "%";
    }
    /**
     * 首字母大写
     *
     * @param str
     * @return
     */
    public static String capitalize(String str) {
        return String.valueOf(str.charAt(0)).toUpperCase() + str.substring(1);
    public static String firstCharToUpperCase(String str) {
        return str.substring(0, 1).toUpperCase() + str.substring(1);
    }
    /**
     * 首字母小写
     */
    public static String firstCharToLowerCase(String str) {
        return str.substring(0, 1).toLowerCase() + str.substring(1);
    }
    /**
     * 判断值是否存在SQL注入
     *
     * @param str 字符串
     * @return 是/否
     */
    public static boolean isSqlInjection(String str) {
        Matcher m = sqlPattern.matcher(str);
        return m.matches();
    }
    /**
     * 校验密码是/否合法
     *
     * @param pwd 密码
     * @return 是/否合法
     */
    public static boolean checkPwdValid(String pwd) {
        return Pattern.matches(StaticData.PWD_REG, pwd);
    }
}