admin
2024-04-26 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c
fanli/src/main/java/com/yeshi/fanli/util/StringUtil.java
@@ -1,306 +1,321 @@
package com.yeshi.fanli.util;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Method;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.codec.binary.Base64;
import net.sf.json.JSONObject;
import sun.misc.BASE64Encoder;
public class StringUtil {
   public static String getWholePathWithHost(HttpServletRequest request, String path) {
      String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
            + request.getContextPath() + "/";
      return basePath + path;
   }
   public static String getBasePath(HttpServletRequest request) {
      String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
            + request.getContextPath();// ������ʽ
      return basePath;
   }
   public static String getWholePath(HttpServletRequest request, String url) {
      if (url != null) {
         if (url.startsWith("http://") || url.startsWith("https://"))
            return url;
         else
            return getWholePathWithHost(request, url);
      }
      return "";
   }
   // 是否为电话号码
   public static boolean isMobile(String mobile) {
      String regex = "^((13[0-9])|(14[0-9])|(17[0-9])|(15[^4,\\D])|(18[0-9])|(19[0-9])|(16[0-9]))\\d{8}$";
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(mobile);
      if (mobile == null || mobile.equals("") || mobile.length() != 11) {
         return false;
      } else {
         return m.find();
      }
   }
   /**
    * ��������
    *
    * @return
    */
   public static String getRandomCode() {
      String sts = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
      String code = "";
      for (int i = 0; i < 10; i++) {
         int p = (int) (Math.random() * 26);
         code += sts.charAt(p);
      }
      return code;
   }
   public static String getRandomCode(int count) {
      String sts = "0123456789abcdefghijklmnopqrsduvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
      String code = "";
      for (int i = 0; i < count; i++) {
         int p = (int) (Math.random() * 62);
         code += sts.charAt(p);
      }
      return code;
   }
   /**
    * ��֤�����?
    *
    * @return
    */
   public static String getVerifyCode() {
      String sts = "0123456789";
      String code = "";
      for (int i = 0; i < 6; i++) {
         int p = (int) (Math.random() * 10);
         code += sts.charAt(p);
      }
      return code;
   }
   public static String getVerifyCode(int count) {
      String sts = "0123456789";
      String code = "";
      for (int i = 0; i < count; i++) {
         int p = (int) (Math.random() * 10);
         code += sts.charAt(p);
      }
      return code;
   }
   // ��ȡ���ŷ��͵ĸ�ʽ
   public static String getMessageStyle(String code) {
      return "У����:" + code + ",�����˺�ע�ᡣ���������κ����ṩ���յ��Ķ���У���롿";
   }
   // �Ƿ��ǿյ��ַ�
   public static boolean isNullOrEmpty(String text) {
      if (text == null || text.length() == 0 || text.equalsIgnoreCase("null")) {
         return true;
      }
      return false;
   }
   // 32λMD5����
   public static String Md5(String st) {
      try {
         MessageDigest md = MessageDigest.getInstance("MD5");
         try {
            md.update(st.getBytes("UTF-8"));
         } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
         }
         byte b[] = md.digest();
         int i;
         StringBuffer buf = new StringBuffer("");
         for (int offset = 0; offset < b.length; offset++) {
            i = b[offset];
            if (i < 0)
               i += 256;
            if (i < 16)
               buf.append("0");
            buf.append(Integer.toHexString(i));
         }
         return buf.toString();
         // LogUtil.i("result: " + buf.toString());// 32λ�ļ���
         // LogUtil.i("result: " + buf.toString().substring(8,
         // 24));// 16λ�ļ���
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      }
      return null;
   }
   public static String getString(String st) {
      return isNullOrEmpty(st) ? "" : st;
   }
   public static String getString(int i) {
      return getString(i + "");
   }
   public static String getString(long i) {
      return getString(i + "");
   }
   /*
    * ��ȡ�м���Ǻŵĵ绰����?
    */
   public static String getSubMobile(String mobile) {
      if (!StringUtil.isNullOrEmpty(mobile) && mobile.length() > 10) {
         return mobile.subSequence(0, 3).toString() + "****" + mobile.subSequence(7, mobile.length()).toString();
      } else
         return mobile;
   }
   public static String getBase64FromByte(byte[] b) {
      String s = null;
      if (b != null) {
         s = new BASE64Encoder().encode(b);
      }
      return s;
   }
   public static int getPage(String page) {
      if (StringUtil.isNullOrEmpty(page)) {
         return 0;
      } else {
         try {
            return Integer.parseInt(page);
         } catch (Exception e) {
            return 0;
         }
      }
   }
   public static String getNumberFromString(String st) {
      String number = "";
      Pattern p = Pattern.compile("[0-9\\.]+");
      Matcher m = p.matcher(st);
      while (m.find()) {
         number += (m.group() + ",");
      }
      return number;
   }
   public static String getNotNullString(String st) {
      if (isNullOrEmpty(st))
         return "";
      else
         return st;
   }
   public static String getUTF8String(String resource, String chactor) {
      if (!isNullOrEmpty(resource)) {
         try {
            return new String(resource.getBytes(chactor), "UTF-8");
         } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
         }
      }
      return "";
   }
   @SuppressWarnings({ "unchecked", "rawtypes" })
   public static String getBase64String(String str) throws Exception {
      byte[] input = str.getBytes("UTF-8");
      Class clazz = Class.forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");
      Method mainMethod = clazz.getMethod("encode", byte[].class);
      mainMethod.setAccessible(true);
      Object retObj = mainMethod.invoke(null, new Object[] { input });
      return (String) retObj;
   }
   // 解密
   public static String getFromBase64(String s) {
      byte[] b = null;
      String result = null;
      if (s != null) {
         final Base64 base64 = new Base64();
         try {
            b = base64.decode(s.getBytes("UTF-8"));
            result = new String(b, "utf-8");
         } catch (Exception e) {
            e.printStackTrace();
         }
      }
      return result;
   }
   public static String SHA1(String decript) {
      try {
         MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1");
         digest.update(decript.getBytes());
         byte messageDigest[] = digest.digest();
         // Create Hex String
         StringBuffer hexString = new StringBuffer();
         // 字节数组转换�?十六进制 �?
         for (int i = 0; i < messageDigest.length; i++) {
            String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);
            if (shaHex.length() < 2) {
               hexString.append(0);
            }
            hexString.append(shaHex);
         }
         return hexString.toString();
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      }
      return "";
   }
   public static long[] parseLong(String[] arr) {
      long[] lArr = new long[arr.length];
      int ii = 0;
      for (String str : arr) {
         lArr[ii] = Long.parseLong(str);
         ii++;
      }
      return lArr;
   }
   public static boolean isJson(String content) {
      try {
         JSONObject.fromObject(content);
         return true;
      } catch (Exception e) {
         return false;
      }
   }
   public static String concat(List list, String sperator) {
      if (list == null)
         return null;
      String str = "";
      for (Object obj : list) {
         str += obj + sperator;
      }
      if (str.endsWith(sperator))
         str = str.substring(0, str.length() - sperator.length());
      return str;
   }
}
package com.yeshi.fanli.util;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Method;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.codec.binary.Base64;
import net.sf.json.JSONObject;
import sun.misc.BASE64Encoder;
public class StringUtil {
   public static String getWholePathWithHost(HttpServletRequest request, String path) {
      String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
            + request.getContextPath() + "/";
      return basePath + path;
   }
   public static String getBasePath(HttpServletRequest request) {
      String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
            + request.getContextPath();// ������ʽ
      return basePath;
   }
   public static String getWholePath(HttpServletRequest request, String url) {
      if (url != null) {
         if (url.startsWith("http://") || url.startsWith("https://"))
            return url;
         else
            return getWholePathWithHost(request, url);
      }
      return "";
   }
   // 是否为电话号码
   public static boolean isMobile(String mobile) {
      String regex = "^((13[0-9])|(14[0-9])|(17[0-9])|(15[^4,\\D])|(18[0-9])|(19[0-9])|(16[0-9]))\\d{8}$";
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(mobile);
      if (mobile == null || mobile.equals("") || mobile.length() != 11) {
         return false;
      } else {
         return m.find();
      }
   }
   /**
    * ��������
    *
    * @return
    */
   public static String getRandomCode() {
      String sts = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
      String code = "";
      for (int i = 0; i < 10; i++) {
         int p = (int) (Math.random() * 26);
         code += sts.charAt(p);
      }
      return code;
   }
   public static String getRandomCode(int count) {
      String sts = "0123456789abcdefghijklmnopqrsduvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
      String code = "";
      for (int i = 0; i < count; i++) {
         int p = (int) (Math.random() * 62);
         code += sts.charAt(p);
      }
      return code;
   }
   /**
    * ��֤�����?
    *
    * @return
    */
   public static String getVerifyCode() {
      String sts = "0123456789";
      String code = "";
      for (int i = 0; i < 6; i++) {
         int p = (int) (Math.random() * 10);
         code += sts.charAt(p);
      }
      return code;
   }
   public static String getVerifyCode(int count) {
      String sts = "0123456789";
      String code = "";
      for (int i = 0; i < count; i++) {
         int p = (int) (Math.random() * 10);
         code += sts.charAt(p);
      }
      return code;
   }
   // ��ȡ���ŷ��͵ĸ�ʽ
   public static String getMessageStyle(String code) {
      return "У����:" + code + ",�����˺�ע�ᡣ���������κ����ṩ���յ��Ķ���У���롿";
   }
   // �Ƿ��ǿյ��ַ�
   public static boolean isNullOrEmpty(String text) {
      if (text == null || text.trim().length() == 0 || text.equalsIgnoreCase("null")) {
         return true;
      }
      return false;
   }
   // 32λMD5����
   public static String Md5(String st) {
      try {
         MessageDigest md = MessageDigest.getInstance("MD5");
         try {
            md.update(st.getBytes("UTF-8"));
         } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
         }
         byte b[] = md.digest();
         int i;
         StringBuffer buf = new StringBuffer("");
         for (int offset = 0; offset < b.length; offset++) {
            i = b[offset];
            if (i < 0)
               i += 256;
            if (i < 16)
               buf.append("0");
            buf.append(Integer.toHexString(i));
         }
         return buf.toString();
         // LogUtil.i("result: " + buf.toString());// 32λ�ļ���
         // LogUtil.i("result: " + buf.toString().substring(8,
         // 24));// 16λ�ļ���
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      }
      return null;
   }
   public static String getString(String st) {
      return isNullOrEmpty(st) ? "" : st;
   }
   public static String getString(int i) {
      return getString(i + "");
   }
   public static String getString(long i) {
      return getString(i + "");
   }
   /*
    * ��ȡ�м���Ǻŵĵ绰����?
    */
   public static String getSubMobile(String mobile) {
      if (!StringUtil.isNullOrEmpty(mobile) && mobile.length() > 10) {
         return mobile.subSequence(0, 3).toString() + "****" + mobile.subSequence(7, mobile.length()).toString();
      } else
         return mobile;
   }
   public static String getBase64FromByte(byte[] b) {
      String s = null;
      if (b != null) {
         s = new BASE64Encoder().encode(b);
      }
      return s;
   }
   public static int getPage(String page) {
      if (StringUtil.isNullOrEmpty(page)) {
         return 0;
      } else {
         try {
            return Integer.parseInt(page);
         } catch (Exception e) {
            return 0;
         }
      }
   }
   public static String getNumberFromString(String st) {
      String number = "";
      Pattern p = Pattern.compile("[0-9\\.]+");
      Matcher m = p.matcher(st);
      while (m.find()) {
         number += (m.group() + ",");
      }
      return number;
   }
   public static String getNotNullString(String st) {
      if (isNullOrEmpty(st))
         return "";
      else
         return st;
   }
   public static String getUTF8String(String resource, String chactor) {
      if (!isNullOrEmpty(resource)) {
         try {
            return new String(resource.getBytes(chactor), "UTF-8");
         } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
         }
      }
      return "";
   }
   @SuppressWarnings({ "unchecked", "rawtypes" })
   public static String getBase64String(String str) throws Exception {
      byte[] input = str.getBytes("UTF-8");
      Class clazz = Class.forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");
      Method mainMethod = clazz.getMethod("encode", byte[].class);
      mainMethod.setAccessible(true);
      Object retObj = mainMethod.invoke(null, new Object[] { input });
      return (String) retObj;
   }
   // 解密
   public static String getFromBase64(String s) {
      byte[] b = null;
      String result = null;
      if (s != null) {
         final Base64 base64 = new Base64();
         try {
            b = base64.decode(s.getBytes("UTF-8"));
            result = new String(b, "utf-8");
         } catch (Exception e) {
            e.printStackTrace();
         }
      }
      return result;
   }
   public static String SHA1(String decript) {
      try {
         MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1");
         digest.update(decript.getBytes());
         byte messageDigest[] = digest.digest();
         // Create Hex String
         StringBuffer hexString = new StringBuffer();
         // 字节数组转换�?十六进制 �?
         for (int i = 0; i < messageDigest.length; i++) {
            String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);
            if (shaHex.length() < 2) {
               hexString.append(0);
            }
            hexString.append(shaHex);
         }
         return hexString.toString();
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      }
      return "";
   }
   public static long[] parseLong(String[] arr) {
      long[] lArr = new long[arr.length];
      int ii = 0;
      for (String str : arr) {
         lArr[ii] = Long.parseLong(str);
         ii++;
      }
      return lArr;
   }
   public static boolean isJson(String content) {
      try {
         JSONObject.fromObject(content);
         return true;
      } catch (Exception e) {
         return false;
      }
   }
   public static String concat(List list, String sperator) {
      if (list == null)
         return null;
      String str = "";
      for (Object obj : list) {
         str += obj + sperator;
      }
      if (str.endsWith(sperator))
         str = str.substring(0, str.length() - sperator.length());
      return str;
   }
   public static String concat(Object[] array, String sperator) {
      if (array == null)
         return null;
      String str = "";
      for (int i = 0; i < array.length; i++) {
         str += array[i] + sperator;
      }
      if (str.endsWith(sperator))
         str = str.substring(0, str.length() - sperator.length());
      return str;
   }
}