/** * <判断对象是否为null或者空> * * @param obj * 需要判断的对象 * @return 如果对象为null或者空则返回true */ public static boolean isNullOrEmpty(Object obj) { if (obj == null || "".equals(StringUtil.toString(obj).trim())) { return true; } return false; } /** * 判断是否是数字 * * @param obj * 需要判断的元素 * @return 是否是数字 */ public static boolean isNumber(Object obj) { return checkPattern(StringUtil.toString(obj).trim(), "^[-+]?[0-9]+(\\.[0-9]+)?$"); } /** * 判断是否是正数 * * @param obj * 需要判断的元素 * @return 是否是正数 */ public static boolean isPositiveNumber(Object obj) { return checkPattern(StringUtil.toString(obj).trim(), "^[0-9]+(\\.[0-9]+)?$"); } /** * 判断是否是Double类型 * * @param obj * 需要判断的元素 * @return 是否是Double类型(小数点后2位小数) */ public static boolean isDouble(Object obj) { return checkPattern(StringUtil.toString(obj).trim(), "^[0-9]+(.[0-9]{1,2})?$"); } /** * 判断是否是int类型 * * @param obj * 需要判断的元素 * @return */ public static boolean isInt(Object obj) { return checkPattern(StringUtil.toString(obj).trim(), "^[0-9]?$"); } /** * 判断集合不为空并且不为null * * @param con * 集合 * @return 是否为空或者null */ public static boolean checkCollectionIsNullOrEmpty( @SuppressWarnings("rawtypes") Collection con) { return con == null || con.size() == 0; } /** * 判断字符串是否满足正则 * * @param str * 需要判断的字符串 * @param pattern * 正则 * @return 判断结果 */ public static boolean checkPattern(String str, String pattern) { try { if (pattern.startsWith("/")) { pattern = pattern.substring(1); } if (pattern.endsWith("/")) { pattern = pattern.substring(0, pattern.length() - 1); } return str.matches(pattern); } catch (Exception e) { e.printStackTrace(); return false; } } /** * 判断字符串是否满足手机正则 * * @param str * 手机号 * @return 判断结果 */ public static boolean checkPhone(String str) { // 手机正则 String phone = "(13\\d|14[57]|15[^4,\\D]|17[678]|18\\d)\\d{8}|170[059]\\d{7}"; return str.matches(phone); } /** * <判断字符串是否是汉字> * * @param str * 汉字 * @return 判断结果 */ public static boolean checkCharacters(String str) { // 汉字正则 String chineseCharacters = "[\u4e00-\u9fa5]+"; return str.matches(chineseCharacters); } /** * <判断邮箱格式是否满足条件> * * @param emailStr * 需要校验的邮箱字符串 */ public static boolean checkEmail(String emailStr) { // 邮箱正则 String emailRegStr = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; return emailStr.matches(emailRegStr); } /** * * <判断是否满足指定格式的日期> * * @param dateStr * 需要校验的日期字符串 * @return */ public static boolean checkDate(String dateStr) { if (null == dateStr || "".equals(dateStr)) { return false; } boolean flag = false; Pattern pattern0 = null; Matcher match0 = null; String datePattern = "(" + // 第一种情况为月份是大月的有31天。 "(^\\d{3}[1-9]|\\d{2}[1-9]\\d{1}|\\d{1}[1-9]\\d{2}|[1-9]\\d{3}" + // 年 "([-/\\._]?)" + // 时间间隔符(-,/,.,_) "(10|12|0?[13578])" + // 大月 "([-/\\._]?)" + // 时间间隔符(-,/,.,_) "((3[01]|[12][0-9]|0?[1-9])?)" + // 日(31)要验证年月因此出现0/1次 "([\\s]?)" + // 空格 "((([0-1]?[0-9]|2[0-3]):([0-5]?[0-9]):([0-5]?[0-9]))?))$" + // 时分秒 "|" + // 或 // 第二种情况为月份是小月的有30天,不包含2月。 "(^\\d{3}[1-9]|\\d{2}[1-9]\\d{1}|\\d{1}[1-9]\\d{2}|[1-9]\\d{3}" + // 年 "([-/\\._]?)" + // 时间间隔符(-,/,.,_) "(11|0?[469])" + // 小月不含2月 "([-/\\._]?)" + // 时间间隔符(-,/,.,_) "(30|[12][0-9]|0?[1-9])" + // 日(30) "([\\s]?)" + // 空格 "((([0-1]?[0-9]|2[0-3]):([0-5]?[0-9]):([0-5]?[0-9]))?))$" + // 时分秒 "|" + // 或 // 第三种情况为平年月份是2月28天的。 "(^\\d{3}[1-9]|\\d{2}[1-9]\\d{1}|\\d{1}[1-9]\\d{2}|[1-9]\\d{3}" + // 年 "([-/\\._]?)" + // 时间间隔符(-,/,.,_) "(0?2)" + // 平年2月 "([-/\\._]?)" + // 时间间隔符(-,/,.,_) "(2[0-8]|1[0-9]|0?[1-9])" + // 日(28) "([\\s]?)" + // 空格 "((([0-1]?[0-9]|2[0-3]):([0-5]?[0-9]):([0-5]?[0-9]))?))$" + // 时分秒 "|" + // 或 // 第四种情况为闰年月份是2月29天的。 // 可以被4整除但不能被100整除的年份。 // 可以被400整除的数亦是能被100整除,因此后两位是00,所以只要保证前两位能被4整除即可。 "(^((\\d{2})(0[48]|[2468][048]|[13579][26]))|((0[48]|[2468][048]|[13579][26])00)" + "([-/\\._]?)" + "(0?2)" + "([-/\\._]?)" + "(29)" + "([\\s]?)" + "((([0-1]?\\d|2[0-3]):([0-5]?\\d):([0-5]?\\d))?))$" + // 时分秒 ")"; ; pattern0 = Pattern.compile(datePattern); match0 = pattern0.matcher(dateStr); flag = match0.matches(); return flag; } /** * * <判断是否满足指定格式的身份证号码> * * @param idCardStr * 需要校验的身份证号码的字符串 * @return */ public static boolean checkIdCard(String idCardStr) { // 身份证号码正则 String idCardReg = "(^\\d{18}$)|(^\\d{15}$)"; return idCardStr.matches(idCardReg); }
java验证工具类(待验证)
猜你喜欢
转载自www.cnblogs.com/ifindu-san/p/9625859.html
今日推荐
周排行