|
@@ -0,0 +1,179 @@
|
|
|
+package com.common.library.utils;
|
|
|
+
|
|
|
+import java.util.regex.Matcher;
|
|
|
+import java.util.regex.Pattern;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 作者:fuchangle on 2018/3/17 17:12
|
|
|
+ */
|
|
|
+
|
|
|
+public class ValidationUtil {
|
|
|
+
|
|
|
+
|
|
|
+ //手机号
|
|
|
+ public static String mobile = "^((13[0-9])|(14[0-9])|(15[0-9])|(16[0-9])|(17[0-9])|(18[0-9])|(19[0-9]))\\d{8}$";
|
|
|
+
|
|
|
+ //不允许为空
|
|
|
+ public static String blank = ".*[^ ].*";
|
|
|
+
|
|
|
+ //邮件
|
|
|
+ public static String email = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([0-9a-z_\\-]*)(\\.(com|cn|inc|org|cc|edu|de)*){1,2}([a-z]{2})?$";
|
|
|
+
|
|
|
+ //QQ,允许为空
|
|
|
+ public static String tencentQQAllowNull = "((^$)|([1-9][0-9]{4,11}))";
|
|
|
+
|
|
|
+ //QQ
|
|
|
+ public static String tencentQQ = "[1-9][0-9]{4,11}";
|
|
|
+
|
|
|
+ //网址,允许为空
|
|
|
+ public static String urlAllowNull = "((^$)|(http|https)+://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?)";
|
|
|
+
|
|
|
+ //网址
|
|
|
+ public static String url = "(http|https)+://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";
|
|
|
+
|
|
|
+ //微信,允许为空
|
|
|
+ public static String weixinAllowNull = "((^$)|(^[A-Za-z0-9]\\w{3,60}+$))";
|
|
|
+
|
|
|
+ //微信
|
|
|
+ public static String weixin = "^[A-Za-z0-9]\\w{3,60}+$";
|
|
|
+
|
|
|
+ //正整数
|
|
|
+ public static String PositiveInteger = "^[0-9]*[1-9][0-9]*$";
|
|
|
+
|
|
|
+ //年份正则表达式
|
|
|
+ public static String YearReg = "([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})";
|
|
|
+
|
|
|
+ //正整数或非负数
|
|
|
+ public static String NonnegativeNumber ="^(\\+?[1-9][0-9]*$)|(([0-9]+\\.[0-9]*[0-9][0-9]*))";
|
|
|
+
|
|
|
+ //不允许有任何空白
|
|
|
+ public static String NoAnyEmpty = "^[\\S]{5,30}$";
|
|
|
+
|
|
|
+ //日期
|
|
|
+ public static String DateReg ="^$|^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$";
|
|
|
+
|
|
|
+
|
|
|
+ //是否是Double数字类型
|
|
|
+ public static boolean isDouble(String value) {
|
|
|
+ if (value == null) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ Pattern pattern = Pattern.compile("[0-9]*(\\.?)[0-9]*");
|
|
|
+ return pattern.matcher(value).matches();
|
|
|
+ }
|
|
|
+
|
|
|
+ //是否是Long类型
|
|
|
+ public static boolean isValidLong(String str) {
|
|
|
+ try {
|
|
|
+ Long.parseLong(str);
|
|
|
+ return true;
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ //是否是Int类型
|
|
|
+ public static boolean isValidInt(String str) {
|
|
|
+ try {
|
|
|
+ Integer.parseInt(str);
|
|
|
+ return true;
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean mobile(String str) {
|
|
|
+ return validata(str, mobile);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean blank(String str) {
|
|
|
+ return validata(str, blank);
|
|
|
+ }
|
|
|
+
|
|
|
+ /****
|
|
|
+ * 不为空,限制长度范围
|
|
|
+ * @param str
|
|
|
+ * @param start
|
|
|
+ * @param end
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static boolean blankforlenth(String str, int start, int end) {
|
|
|
+ String reg = "\\S{" + start + "," + end + "}";
|
|
|
+ return validata(str, reg);
|
|
|
+ }
|
|
|
+
|
|
|
+ /***
|
|
|
+ * 非负数
|
|
|
+ * @param str
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static boolean nonnegativeNumber(String str) {
|
|
|
+ return validata(str, NonnegativeNumber);
|
|
|
+ }
|
|
|
+
|
|
|
+ /****
|
|
|
+ * 不允许有任何空白
|
|
|
+ * @param str
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static boolean noAnyEmpty(String str) {
|
|
|
+ return validata(str, NoAnyEmpty);
|
|
|
+ }
|
|
|
+
|
|
|
+ /***
|
|
|
+ * 日期判断
|
|
|
+ * @param str
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static boolean isDateReg(String str) {
|
|
|
+ return validata(str, DateReg);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean eimail(String str) {
|
|
|
+ return validata(str, email);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean tencentQQAllNull(String str) {
|
|
|
+ return validata(str, tencentQQAllowNull);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean tencentQQ(String str) {
|
|
|
+ return validata(str, tencentQQ);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean webURLAllowNull(String str) {
|
|
|
+ return validata(str, urlAllowNull);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean webURL(String str) {
|
|
|
+ return validata(str, url);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean weixinAllowNull(String str) {
|
|
|
+ return validata(str, weixinAllowNull);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean weixin(String str) {
|
|
|
+ return validata(str, weixin);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean positiveInteger(String str) {
|
|
|
+ return validata(str, PositiveInteger);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean isyear(String str) {
|
|
|
+ return validata(str, YearReg);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean validata(String str, String type) {
|
|
|
+ Pattern p = Pattern.compile(type);
|
|
|
+
|
|
|
+ Matcher m = p.matcher(str);
|
|
|
+ return m.matches();
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ String xxx = "xxxxx";
|
|
|
+ System.out.println(blankforlenth(xxx,5, 10));
|
|
|
+ }
|
|
|
+}
|