package com.lf.server.helper;
|
|
import com.lf.server.entity.all.StaticData;
|
|
import java.text.DecimalFormat;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.regex.Matcher;
|
import java.util.regex.Pattern;
|
|
/**
|
* 字符串帮助类
|
* @author WWW
|
*/
|
public class StringHelper {
|
/**
|
* 数字正则
|
*/
|
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 YMD__FORMAT = new SimpleDateFormat("yyyyMMdd_");
|
|
/**
|
* 格式化当前系统日期 4
|
*/
|
public static final SimpleDateFormat YMD_HM_FORMAT = new SimpleDateFormat("yyyyMMdd_HHmm");
|
|
public static final double D1024 = 1024.0;
|
|
/**
|
* 判断字符串,是否为数字
|
*/
|
public static boolean isNumber(String str) {
|
return NUMBER_PATTERN.matcher(str).matches();
|
}
|
|
/**
|
* 日期正则
|
*/
|
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])))))?$");
|
|
/**
|
* 字符串转为日期
|
*/
|
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();
|
}
|
|
/**
|
* 字符串,是否为null 或 ""
|
*/
|
public static boolean isNull(String str) {
|
return null == str || str.length() == 0;
|
}
|
|
/**
|
* 字符串,是否为空null和空格
|
*/
|
public static boolean isEmpty(String str) {
|
return str == null || "".equals(str.trim());
|
}
|
|
/**
|
* 获取 like 字符串
|
*/
|
public static String getLikeStr(String name) {
|
return StringHelper.isEmpty(name) ? null : "%" + name.trim() + "%";
|
}
|
|
/**
|
* 首字母大写
|
*/
|
public static String capitalize(String str) {
|
return String.valueOf(str.charAt(0)).toUpperCase() + str.substring(1);
|
}
|
|
/**
|
* 校验密码是/否合法
|
*
|
* @param pwd 密码
|
* @return 是/否合法
|
*/
|
public static boolean checkPwdValid(String pwd) {
|
return Pattern.matches(StaticData.PWD_REG, pwd);
|
}
|
|
/**
|
* 字节单位换算
|
*/
|
public static String formatByte(long byteNumber) {
|
double kbNumber = byteNumber / D1024;
|
if (kbNumber < D1024) {
|
return new DecimalFormat("#.##KB").format(kbNumber);
|
}
|
double mbNumber = kbNumber / D1024;
|
if (mbNumber < D1024) {
|
return new DecimalFormat("#.##MB").format(mbNumber);
|
}
|
double gbNumber = mbNumber / D1024;
|
if (gbNumber < D1024) {
|
return new DecimalFormat("#.##GB").format(gbNumber);
|
}
|
double tbNumber = gbNumber / D1024;
|
|
return new DecimalFormat("#.##TB").format(tbNumber);
|
}
|
}
|