java正則工具類——ValidUtils

package com.steven.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}$";

/**整數(shù)*/

private static final String intege="^-?[1-9]\\d*$";

/** 正整數(shù)*/

private static final String intege1="^[1-9]\\d*$";

/** 負(fù)整數(shù)*/

private static final String intege2="^-[1-9]\\d*$";

/** 數(shù)字*/

private static final String num="^([+-]?)\\d*\\.?\\d+$";

/** 正數(shù)(正整數(shù) + 0)*/

private static final String num1="^[1-9]\\d*|0$";

/** 負(fù)數(shù)(負(fù)整數(shù) + 0)*/

private static final String num2="^-[1-9]\\d*|0$";

/** 浮點(diǎn)數(shù)*/

private static final String decmal="^([+-]?)\\d*\\.\\d+$";

/** 正浮點(diǎn)數(shù)*/

private static final String decmal1="^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$";

/** 負(fù)浮點(diǎn)數(shù)*/

private static final String decmal2="^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$";

/** 浮點(diǎn)數(shù)*/

private static final String decmal3="^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$";

/** 非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)*/

private static final String decmal4="^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$";

/**非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 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號(hào)碼*/

private static final String qq="^[1-9]*[1-9][0-9]*$";

/** 電話號(hào)碼的函數(shù)(包括驗(yàn)證國(guó)內(nèi)區(qū)號(hào);國(guó)際區(qū)號(hào);分機(jī)號(hào))*/

private static final String tel="^(([0\\+]\\d{2,3}-)?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{1,}))?$";

/** 用來(lái)用戶注冊(cè)昆汹。匹配由數(shù)字迅耘、26個(gè)英文字母或者下劃線組成的字符串*/

private static final String username="^\\w+$";

/** 字母*/

private static final String letter="^[A-Za-z]+$";

private static final String letterAndSpace="^[A-Za-z ]+$";

/** 大寫(xiě)字母*/

private static final String letter_u="^[A-Z]+$";

/** 小寫(xiě)字母*/

private static final String letter_l="^[a-z]+$";

/** 身份證*/

private static final String idcard="^[1-9]([0-9]{14}|[0-9]{17})$";

/**判斷字符串是否為浮點(diǎn)數(shù)*/

private static final String isFloat="^[-]?\\d+(\\.\\d+)?$";

/**判斷字符串是否為正浮點(diǎn)數(shù)*/

private static final String isUFloat="^\\d+(\\.\\d+)?$";

/**判斷是否是整數(shù)*/

private static final String isInteger="^[-]?\\d+$";

/**判斷是否是正整數(shù)*/

private static final String isUInteger="^\\d+$";

/**判斷車輛Vin碼*/

private static final String isCarVin="^[1234567890WERTYUPASDFGHJKLZXCVBNM]{13}[0-9]{4}$";

/** 手機(jī)號(hào) */

public static boolean isMobile(String input){

return matches(mobile, input);

}

public static boolean isCodeAndMobile(String input){

return matches(codeAndMobile, input);

}

/** 整數(shù) */

public static boolean isIntege(String input){

return matches(intege, input);

}

/** 正整數(shù) */

public static boolean isintege1(String input){

return matches(intege1, input);

}

/** 負(fù)整數(shù)*/

public static boolean isIntege2(String input){

return matches(intege2, input);

}

/** 數(shù)字 */

public static boolean isNum(String input){

return matches(num, input);

}

/** 正數(shù)(正整數(shù) + 0) */

public static boolean isNum1(String input){

return matches(num1, input);

}

/** 負(fù)數(shù)(負(fù)整數(shù) + 0)*/

public static boolean isNum2(String input){

return matches(num2, input);

}

/** 浮點(diǎn)數(shù)*/

public static boolean isDecmal(String input){

return matches(decmal, input);

}

/** 正浮點(diǎn)數(shù)*/

public static boolean isDecmal1(String input){

return matches(decmal1, input);

}

/** 負(fù)浮點(diǎn)數(shù)*/

public static boolean isDecmal2(String input){

return matches(decmal2, input);

}

/**浮點(diǎn)數(shù) */

public static boolean isDecmal3(String input){

return matches(decmal3, input);

}

/** 非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)*/

public static boolean isDecmal4(String input){

return matches(decmal4, input);

}

/** 非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 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);

}

/** 電話號(hào)碼的函數(shù)(包括驗(yàn)證國(guó)內(nèi)區(qū)號(hào);國(guó)際區(qū)號(hào);分機(jī)號(hào))*/

public static boolean isTel(String input){

return matches(tel, input);

}

/** 用來(lái)用戶注冊(cè)瞎颗。匹配由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串*/

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);

}

/** 小寫(xiě)字母*/

public static boolean isLowLetter(String input){

return matches(letter_l, input);

}

/** 大寫(xiě)字母*/

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"));

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末藏研,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子薯蝎,更是在濱河造成了極大的恐慌遥倦,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件占锯,死亡現(xiàn)場(chǎng)離奇詭異袒哥,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)消略,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)堡称,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人艺演,你說(shuō)我怎么就攤上這事却紧。” “怎么了胎撤?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵晓殊,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我伤提,道長(zhǎng)巫俺,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任肿男,我火速辦了婚禮介汹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘舶沛。我一直安慰自己嘹承,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布如庭。 她就那樣靜靜地躺著叹卷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上豪娜,一...
    開(kāi)封第一講書(shū)人閱讀 50,084評(píng)論 1 291
  • 那天餐胀,我揣著相機(jī)與錄音,去河邊找鬼瘤载。 笑死否灾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鸣奔。 我是一名探鬼主播墨技,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼挎狸!你這毒婦竟也來(lái)了扣汪?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤锨匆,失蹤者是張志新(化名)和其女友劉穎崭别,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體恐锣,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茅主,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了土榴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诀姚。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖玷禽,靈堂內(nèi)的尸體忽然破棺而出赫段,到底是詐尸還是另有隱情,我是刑警寧澤矢赁,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布糯笙,位于F島的核電站,受9級(jí)特大地震影響撩银,放射性物質(zhì)發(fā)生泄漏给涕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一蜒蕾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧焕阿,春花似錦咪啡、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春准夷,著一層夾襖步出監(jiān)牢的瞬間钥飞,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工衫嵌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留读宙,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓楔绞,卻偏偏與公主長(zhǎng)得像结闸,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子酒朵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理桦锄,服務(wù)發(fā)現(xiàn),斷路器蔫耽,智...
    卡卡羅2017閱讀 134,638評(píng)論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法结耀,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法匙铡,繼承相關(guān)的語(yǔ)法图甜,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,602評(píng)論 18 399
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問(wèn)題, 分享了一些自己做題目的經(jīng)驗(yàn)慰枕。 張土汪:刷leetcod...
    土汪閱讀 12,740評(píng)論 0 33
  • 一具则、 1、請(qǐng)用Java寫(xiě)一個(gè)冒泡排序方法 【參考答案】 public static void Bubble(int...
    獨(dú)云閱讀 1,358評(píng)論 0 6
  • Tom說(shuō):“今天的收獲,源于昨日的付出蜂厅》朔玻”當(dāng)前社會(huì)人心浮躁,都有著急功近利的想法掘猿,想著扔出一分病游,馬上變成一角,難怪...
    愛(ài)遞遺主閱讀 161評(píng)論 0 0