From b5326f8d497a6f6e97a487cb9c565fdae1dc4790 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 12 九月 2024 17:32:55 +0800
Subject: [PATCH] 添加基础类

---
 src/main/java/com/se/simu/helper/StringHelper.java |  253 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 253 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/se/simu/helper/StringHelper.java b/src/main/java/com/se/simu/helper/StringHelper.java
new file mode 100644
index 0000000..067ae87
--- /dev/null
+++ b/src/main/java/com/se/simu/helper/StringHelper.java
@@ -0,0 +1,253 @@
+package com.se.simu.helper;
+
+import java.sql.Timestamp;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * 瀛楃涓插府鍔╃被
+ *
+ * @author WWW
+ * @date 2024-09-12
+ */
+public class StringHelper {
+    public final static String COMMA = ",";
+
+    public final static String PWD_REG = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$";
+
+    /**
+     * 鏁板瓧姝e垯
+     */
+    public static final Pattern NUMBER_PATTERN = Pattern.compile("-?\\d+(\\.\\d+)?");
+
+    /**
+     * 鏍煎紡鍖栧綋鍓嶇郴缁熸棩鏈� 1
+     */
+    public static final SimpleDateFormat YMD_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
+
+    /**
+     * 鏍煎紡鍖栧綋鍓嶇郴缁熸棩鏈� 2
+     */
+    public static final SimpleDateFormat YMDHMS_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+    /**
+     * 鏍煎紡鍖栧綋鍓嶇郴缁熸棩鏈� 3
+     */
+    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();
+    }
+
+    /**
+     * 鏃ユ湡姝e垯
+     */
+    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姝e垯
+     */
+    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");
+
+    /**
+     * 瀛楃涓茶浆涓烘棩鏈�
+     */
+    public static Date parseDate(String str) {
+        try {
+            return YMD_FORMAT.parse(str);
+        } catch (Exception ex) {
+            return null;
+        }
+    }
+
+    /**
+     * 瀛楃涓茶浆涓烘棩鏈熸椂闂�
+     */
+    public static Date parseTime(String str) {
+        try {
+            return YMDHMS_FORMAT.parse(str);
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+    /**
+     * 鍒ゆ柇鍊兼槸鍚︿负鏃ユ湡鏍煎紡
+     */
+    public static boolean isDate(String strDate) {
+        Matcher m = datePattern.matcher(strDate);
+
+        return m.matches();
+    }
+
+    /**
+     * 瀛楃涓诧紝鏄惁涓簄ull 鎴� ""
+     */
+    public static boolean isNull(String str) {
+        return null == str || str.length() == 0;
+    }
+
+    /**
+     * 瀛楃涓�,鏄惁涓虹┖null鍜岀┖鏍�
+     */
+    public static boolean isEmpty(String str) {
+        return null == str || "".equals(str.trim());
+    }
+
+    /**
+     * 鑾峰彇 like 瀛楃涓�
+     */
+    public static String getLikeStr(String str) {
+        return isEmpty(str) ? null : "%" + str.trim() + "%";
+    }
+
+    /**
+     * 鑾峰彇 like 瀛楃涓�
+     */
+    public static String getLikeUpperStr(String str) {
+        return isEmpty(str) ? null : "%" + str.trim().toUpperCase() + "%";
+    }
+
+    /**
+     * 鑾峰彇 鍙砽ike 瀛楃涓�
+     */
+    public static String getRightLike(String str) {
+        return isEmpty(str) ? null : str.trim() + "%";
+    }
+
+    /**
+     * 鑾峰彇鍥惧舰鐨刉KT瀛楃涓�
+     */
+    public static String getGeomWkt(String wkt) {
+        if (isEmpty(wkt)) {
+            return "null";
+        }
+
+        return String.format("ST_GeomFromText('%s')", wkt);
+    }
+
+    /**
+     * 棣栧瓧姣嶅ぇ鍐�
+     */
+    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);
+    }
+
+    /**
+     * 鍒ゆ柇鍊兼槸鍚﹀瓨鍦⊿QL娉ㄥ叆
+     *
+     * @param str 瀛楃涓�
+     * @return 鏄�/鍚�
+     */
+    public static boolean isSqlInjection(String str) {
+        if (null == str) {
+            return false;
+        }
+
+        Matcher m = sqlPattern.matcher(str);
+
+        return m.matches();
+    }
+
+    /**
+     * 鏍¢獙瀵嗙爜鏄�/鍚﹀悎娉�
+     *
+     * @param pwd 瀵嗙爜
+     * @return 鏄�/鍚︿负鏃犳晥鐨�
+     */
+    public static boolean isPwdInvalid(String pwd) {
+        return !Pattern.matches(PWD_REG, pwd);
+    }
+
+    /**
+     * 鑾峰彇GUID
+     */
+    public static String getGuid() {
+        return UUID.randomUUID().toString();
+    }
+
+    /**
+     * 鑾峰彇鍒嗛挓宸暟
+     */
+    public static long getMinuteDifference(Timestamp ts) {
+        return (ts.getTime() - System.currentTimeMillis()) / 1000 / 60;
+    }
+
+    /**
+     * 杩炴帴List闆嗗悎
+     *
+     * @param list list 鏁存暟闆嗗悎
+     * @param join join 杩炴帴瀛楃
+     * @param <T>  娉涘瀷绫�
+     * @return 瀛楃涓�
+     */
+    public static <T> String join(List<T> list, String join) {
+        if (null == list || list.isEmpty()) {
+            return "";
+        }
+
+        StringBuilder sb = new StringBuilder();
+        for (T t : list) {
+            if (null != t) {
+                sb.append(t.toString()).append(join);
+            }
+        }
+
+        if (sb.length() > 0 && sb.lastIndexOf(join) == sb.length() - join.length()) {
+            // 鍒犻櫎浠庣储寮� start 寮�濮嬪埌 end 涔嬮棿鐨勫瓧绗︼紝鍗� 鍓嶅寘鎷� 鍚庝笉鍖呮嫭銆�
+            sb.delete(sb.length() - join.length(), sb.length());
+        }
+
+        return sb.toString();
+    }
+
+    /**
+     * 瀛楃涓茶浆鏁存暟闆嗗悎
+     */
+    public static List<Integer> strToIntegers(String str) {
+        if (isEmpty(str)) {
+            return null;
+        }
+
+        List<Integer> list = new ArrayList<>();
+        for (String s : str.split(COMMA)) {
+            list.add(Integer.parseInt(s));
+        }
+
+        return list;
+    }
+}

--
Gitblit v1.9.3