分享

Java常用方法封装

 dabinglibrary 2014-12-05
/**
* @param date
*            时间
* @param format
*            格式
* @return
*/
public static String formatDate(Date date, String format) {
return (new SimpleDateFormat(format)).format(date);
}

public static String formatDate(Date date) {
return (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
}

public static String formatDateShort(Date date) {
return (new SimpleDateFormat("yyyy-MM-dd")).format(date);
}

/**
* 获得默认的时间字符串
* @return
*/
public static String findDefaultDateStr() {
return (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date());
}

/**
* 根据时间模板返回字符串
* @param fmt
* @return
*/
public static String findDateStr(String fmt) {
return (new SimpleDateFormat(fmt)).format(new Date());
}

/**
* 验证邮箱是否正确
* @param searchPhrase
* @return
*/
public static boolean isEmail(final String searchPhrase) {
if (!isEmpty(searchPhrase)) {
final String check = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
final Pattern regex = Pattern.compile(check);
final Matcher matcher = regex.matcher(searchPhrase);
return matcher.matches();
}
return false;
}

/**
* 验证手机号是否正确
* @param mobiles
* @return
*/
public static boolean isMobileNO(String mobiles) {
if (!isEmpty(mobiles)) {
Pattern p = Pattern
.compile("^((13[0-9])|(15[^4,\\D])|(18[0-9])|(14[0-9]))\\d{8}$");
Matcher m = p.matcher(mobiles);
return m.matches();
}
return false;
}

/**
* 计算字符串长度,拼接报文头,不足前补0
* @param content
* @param lenght
* @return
*/
public static String computeLengthMergerStr(String content, int lenght) {
return StringUtil.fillNumWithLeft(StringUtil.getStrLength((content))
+ "", lenght)
+ content;
}

/**
* 根据字节长度截取字符串
* @param str
* @param begin
* @param count
* @return
* @throws UnsupportedEncodingException
*/
public static String subBytes(String str, int begin, int count)
throws UnsupportedEncodingException {
byte[] src = str.getBytes("GBK");
byte[] bs = new byte[count];
for (int i = begin; i < begin + count; i++) {
bs[i - begin] = src[i];
}
String s = new String(bs, "GBK");
return trim(s);
}

/**
* 获得六位号随机数
* @return
*/
public static String GetRandomNumberStr6() {
Random r = new Random();
// return "888888";
return "" + (r.nextInt(900000) + 100000);
}

/**
* 2元到十元之间随机数
* @return
*/
public static String GetRandomNumber2To10() {
long i = Math.round(Math.random() * (799) + 200);
// return "888888";

return "" + ArithmeticUtil.divStr(Double.parseDouble("" + i), 100);
}

public static String GetRandom10To15() {
long i = Math.round(Math.random() * (5) + 10);
return "" + i;
}

public static String GetRandom5000To15000() {
long i = Math.round(Math.random() * (10) + 5);
return "" + i * 1000;
}

// 体验金抽奖金额

public static String GetRandomVirtual() {

// Random r = new Random();
// int rand = (r.nextInt(100) + 1);
// int money = 2000;
// if (rand == 2) {
// money = 3000;
// }
// if (rand > 2 && rand <= 5) {
// money = 5000;
// }
// if (rand > 5 && rand <= 10) {
// money = 6000;
// }
// if (rand > 10 && rand <= 20) {
// money = 7000;
// }
// if (rand > 20 && rand <= 30) {
// money = 8000;
// }
// if (rand > 30 && rand <= 40) {
// money = 9000;
// }
// if (rand > 40 && rand <= 100) {
// money = 10000;
// }
// return money + "";
Random r = new Random();
int rand = (r.nextInt(100) + 1);
int money = 2000;
if (rand == 2) {
money = 3000;
}
if (rand > 2 && rand <= 5) {
money = 5000;
}
if (rand > 5 && rand <= 20) {
money = 6000;
}
if (rand > 20 && rand <= 40) {
money = 7000;
}
if (rand > 40 && rand <= 60) {
money = 8000;
}
if (rand > 60 && rand <= 80) {
money = 9000;
}
if (rand > 80 && rand <= 100) {
money = 10000;
}
return money + "";
}

/**
* B-F级抽取比例对应表:
* @return
*/
public static String GetRandomB_F() {
Random r = new Random();
int rand = (r.nextInt(100) + 1);
String fundType = "B";
if (rand > 10 && rand <= 50) {
fundType = "C";
}
if (rand > 50 && rand <= 85) {
fundType = "D";
}
if (rand > 85 && rand <= 95) {
fundType = "E";
}
if (rand > 95 && rand <= 100) {
fundType = "F";
}
return fundType;
}

public static String GetRandomNumberStr4() {
Random r = new Random();
return "" + (r.nextInt(9000) + 1000);
}

public static boolean isInteger(String arg) {
return (!isEmpty(arg)) && arg.matches("-?[0-9]*"); // 正负数
}

public static boolean isPositiveInteger(String arg) {
return (!isEmpty(arg)) && arg.matches("[0-9]*"); // 正负数
}

/**
* 判断是否为金额,最多两位小数,且不能为负
* @param mobiles
* @return
*/
public static boolean isMoney(String money) {
if (!isEmpty(money)) {
Pattern p = Pattern.compile("^[0-9]+(\\.[0-9]{1,2})?$");
Matcher m = p.matcher(money);
return m.matches();
}
return false;
}

/**
* 判断两位小数金额
* @param money
* @return
*/
public static boolean isMoney(double money) {
Pattern p = Pattern.compile("^[0-9]+(\\.[0-9]{1,2})?$");
Matcher m = p.matcher("" + money);
return m.matches();
}

/**
* 判断两位小数金额
* @param money
* @return
*/
public static boolean isFloatMoney(float money) {
Pattern p = Pattern.compile("^[0-9]+(\\.[0-9]{1,2})?$");
Matcher m = p.matcher("" + money);
return m.matches();
}

/**
* 判断是否为数字
* @param str
* @return
*/
public static boolean isNumber(String str) {
if (!isEmpty(str)) {
return str
.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");
}
return false;
}

/**
* 返回double值,默认为0
* @param str
* @return
*/
public static double getDefaultDoubleValue(String str) {
if (StringUtil.isNumber(str)) {
return Double.parseDouble(str);
}
return 0;
}

/**
* 返回两数相除,默认返回0
* @param str
*            除数
* @param d
*            被除数
* @return
*/
public static String getDivDoubleValue(String str, double d) {
if (StringUtil.isNumber(str)) {
return ArithmeticUtil.divStr(Double.parseDouble(str), d);
}
return "0";
}

/**
* 获得随机大小英文字符串
* @param length
* @return
*/
public static final String getRandomString(int length) {
if (length < 1) {
return null;
}
if (randGen == null) {
randGen = new Random();
}
if (numbersAndLetters == null) {
numbersAndLetters = ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
.toCharArray();
}
char[] randBuffer = new char[length];
for (int i = 0; i < randBuffer.length; i++) {
randBuffer[i] = numbersAndLetters[randGen.nextInt(51)];
}
return new String(randBuffer);
}

/**
* sql攻击过滤
* @param str
* @return
*/
public static boolean sqlValidate(String str) {
str = str.toLowerCase();// 统一转为小写
String badStr = "'|and|exec|execute|insert|create|drop|table|from|grant|use|group_concat|column_name|"
+ "information_schema.columns|table_schema|union|where|select|delete|update|order|by|count|*|"
+ "chr|mid|master|truncate|char|declare|or|;|-|--|+|,|like|//|/|%|#";// 过滤掉的sql关键字,可以手动添加
String[] badStrs = badStr.split("\\|");
for (int i = 0; i < badStrs.length; i++) {
if (str.indexOf(badStrs[i]) != -1) {
return true;
}
}
return false;
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约