package com.lyqc.utils; import org.apache.commons.lang.StringUtils; public class ValidUtils { private static final String mobile = "^(13|15|18|17|16)[0-9]{9}$"; private static final String codeAndMobile = "^\\+[0-9]{2}\\-(13|15|18|17|16)[0-9]{9}$"; /**整數*/ private static final String intege="^-?[1-9]\\d*$"; /** 正整數*/ private static final String intege1="^[1-9]\\d*$"; /** 負整數*/ private static final String intege2="^-[1-9]\\d*$"; /** 數字*/ private static final String num="^([+-]?)\\d*\\.?\\d+$"; /** 正數(正整數 + 0)*/ private static final String num1="^[1-9]\\d*|0$"; /** 負數(負整數 + 0)*/ private static final String num2="^-[1-9]\\d*|0$"; /** 浮點數*/ private static final String decmal="^([+-]?)\\d*\\.\\d+$"; /** 正浮點數*/ private static final String decmal1="^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$"; /** 負浮點數*/ private static final String decmal2="^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$"; /** 浮點數*/ private static final String decmal3="^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$"; /** 非負浮點數(正浮點數 + 0)*/ private static final String decmal4="^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$"; /**非正浮點數(負浮點數 + 0) */ private static final String decmal5="^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$"; /** 郵件*/ private static final String email="^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$"; /** 顏色*/ private static final String color="^[a-fA-F0-9]{6}$"; /** url*/ private static final String url="^http[s]?=\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$"; /** 僅中文*/ private static final String chinese="^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$"; /** 僅ACSII字符*/ private static final String ascii="^[\\x00-\\xFF]+$"; /**郵編 */ private static final String zipcode="^\\d{6}$"; /** ip地址*/ private static final String ip4="^(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)$"; /** 非空*/ private static final String notempty="^\\S+$"; /**圖片 */ private static final String picture="(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$"; /** 壓縮文件*/ private static final String rar="(.*)\\.(rar|zip|7zip|tgz)$"; /** 日期*/ private static final String date="^\\d{4}(\\-|\\/|\\.)\\d{1,2}\\1\\d{1,2}$"; /** QQ號碼*/ private static final String qq="^[1-9]*[1-9][0-9]*$"; /** 電話號碼的函數(包括驗證國內區號;國際區號;分機號)*/ private static final String tel="^(([0\\+]\\d{2,3}-)?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{1,}))?$"; /** 用來用戶註冊。匹配由數字、26個英文字母或者下劃線組成的字符串*/ private static final String username="^\\w+$"; /** 字母*/ private static final String letter="^[A-Za-z]+$"; private static final String letterAndSpace="^[A-Za-z ]+$"; /** 大寫字母*/ private static final String letter_u="^[A-Z]+$"; /** 小寫字母*/ private static final String letter_l="^[a-z]+$"; /** 身份證*/ private static final String idcard="^[1-9]([0-9]{14}|[0-9]{17})$"; /**判斷字符串是否爲浮點數*/ private static final String isFloat="^[-]?\\d+(\\.\\d+)?$"; /**判斷字符串是否爲正浮點數*/ private static final String isUFloat="^\\d+(\\.\\d+)?$"; /**判斷是不是整數*/ private static final String isInteger="^[-]?\\d+$"; /**判斷是不是正整數*/ private static final String isUInteger="^\\d+$"; /**判斷車輛Vin碼*/ private static final String isCarVin="^[1234567890WERTYUPASDFGHJKLZXCVBNM]{13}[0-9]{4}$"; /** 手機號 */ public static boolean isMobile(String input){ return matches(mobile, input); } public static boolean isCodeAndMobile(String input){ return matches(codeAndMobile, input); } /** 整數 */ public static boolean isIntege(String input){ return matches(intege, input); } /** 正整數 */ public static boolean isintege1(String input){ return matches(intege1, input); } /** 負整數*/ public static boolean isIntege2(String input){ return matches(intege2, input); } /** 數字 */ public static boolean isNum(String input){ return matches(num, input); } /** 正數(正整數 + 0) */ public static boolean isNum1(String input){ return matches(num1, input); } /** 負數(負整數 + 0)*/ public static boolean isNum2(String input){ return matches(num2, input); } /** 浮點數*/ public static boolean isDecmal(String input){ return matches(decmal, input); } /** 正浮點數*/ public static boolean isDecmal1(String input){ return matches(decmal1, input); } /** 負浮點數*/ public static boolean isDecmal2(String input){ return matches(decmal2, input); } /**浮點數 */ public static boolean isDecmal3(String input){ return matches(decmal3, input); } /** 非負浮點數(正浮點數 + 0)*/ public static boolean isDecmal4(String input){ return matches(decmal4, input); } /** 非正浮點數(負浮點數 + 0)*/ public static boolean isDecmal5(String input){ return matches(decmal5, input); } /** 郵件*/ public static boolean isEmail(String input){ return matches(email, input); } /** 顏色*/ public static boolean isColor(String input){ return matches(color, input); } /** url*/ public static boolean isUrl(String input){ return matches(url, input); } /** 中文*/ public static boolean isChinese(String input){ return matches(chinese, input); } /** ascii碼*/ public static boolean isAscii(String input){ return matches(ascii, input); } /** 郵編*/ public static boolean isZipcode(String input){ return matches(zipcode, input); } /** IP地址*/ public static boolean isIP4(String input){ return matches(ip4, input); } /** 非空*/ public static boolean isNotEmpty(String input){ return matches(notempty, input); } /** 圖片*/ public static boolean isPicture(String input){ return matches(picture, input); } /** 壓縮文件*/ public static boolean isRar(String input){ return matches(rar, input); } /** 日期*/ public static boolean isDate(String input){ return matches(date, input); } /** qq*/ public static boolean isQQ(String input){ return matches(qq, input); } /** 電話號碼的函數(包括驗證國內區號;國際區號;分機號)*/ public static boolean isTel(String input){ return matches(tel, input); } /** 用來用戶註冊。匹配由數字、26個英文字母或者下劃線組成的字符串*/ public static boolean isUserName(String input){ return matches(username, input); } /**字母*/ public static boolean isLetter(String input){ return matches(letter, input); } public static boolean isLetterAndSpace(String input){ return matches(letterAndSpace, input); } /** 小寫字母*/ public static boolean isLowLetter(String input){ return matches(letter_l, input); } /** 大寫字母*/ public static boolean isUpperLetter(String input){ return matches(letter_u, input); } /** 身份證*/ public static boolean isIDCard(String input){ return matches(idcard, input); } public static boolean isFloat(String input){ return matches(isFloat, input); } public static boolean isUFloat(String input){ return matches(isUFloat, input); } public static boolean isInteger(String input){ return matches(isInteger, input); } public static boolean isUInteger(String input){ return matches(isUInteger, input); } public static boolean isCarVin(String carVin){ return matches(isCarVin, carVin); } public static boolean matches(String regex,String input){ if(StringUtils.isBlank(input)) return false; if(input.matches(regex))return true; return false; } public static void main(String[] args) { /*System.out.println(isInteger("1")); System.out.println(isInteger("0")); System.out.println(isInteger("-1")); System.out.println(isInteger("1.0")); System.out.println("--------------------"); System.out.println(isUInteger("-1")); System.out.println(isUInteger("0")); System.out.println(isUInteger("10")); System.out.println(isUInteger("1.3"));*/ System.out.println(isLetterAndSpace("tai wan")); } }