配色: 字号:
Java常用正则表达式验证工具类RegexUtils
2016-12-10 | 阅:  转:  |  分享 
  
Java常用正则表达式验证工具类RegexUtils.java

正则表达式常常用来验证各种表单,Java表单注册常用正则表达式验证工具类,常用正则表达式大集合。



1.电话号码



2.邮编



3.QQ



4.E-mail



5.手机号码



6.URL



7.是否为数字



8.是否为中文



9.身份证



10.域名



11.IP。。。。



常用验证应有尽有!这的确是您从事web开发,服务器端表单验证之良品!你,值得拥有^_^



/Copyright2012-2013TheHaohuiNetworkCorporation/packagecom.haohuimon.utils;importjava.util.regex.Matcher;importjava.util.regex.Pattern;/@projectbaidamei@authorcevencheng@create2012-11-15下午4:54:42/publicclassRegexUtils{/验证Email@paramemailemail地址,格式:zhangsan@zuidaima,zhangsan@xxx.cn,xxx代表邮件服务商@return验证成功返回true,验证失败返回false/publicstaticbooleancheckEmail(Stringemail){Stringregex="\\w+@\\w+\\.[a-z]+(\\.[a-z]+)?";returnPattern.matches(regex,email);}/验证身份证号码@paramidCard居民身份证号码15位或18位,最后一位可能是数字或字母@return验证成功返回true,验证失败返回false/publicstaticbooleancheckIdCard(StringidCard){Stringregex="[1-9]\\d{13,16}[a-zA-Z0-9]{1}";returnPattern.matches(regex,idCard);}/验证手机号码(支持国际格式,+86135xxxx...(中国内地),+00852137xxxx...(中国香港))@parammobile移动、联通、电信运营商的号码段

移动的号段:134(0-8)、135、136、137、138、139、147(预计用于TD上网卡)、150、151、152、157(TD专用)、158、159、187(未启用)、188(TD专用)

联通的号段:130、131、132、155、156(世界风专用)、185(未启用)、186(3g)

电信的号段:133、153、180(未启用)、189

@return验证成功返回true,验证失败返回false/publicstaticbooleancheckMobile(Stringmobile){Stringregex="(\\+\\d+)?1[34578]\\d{9}$";returnPattern.matches(regex,mobile);}/验证固定电话号码@paramphone电话号码,格式:国家(地区)电话代码+区号(城市代码)+电话号码,如:+8602085588447

国家(地区)代码:标识电话号码的国家(地区)的标准国家(地区)代码。它包含从0到9的一位或多位数字,数字之后是空格分隔的国家(地区)代码。

区号(城市代码):这可能包含一个或多个从0到9的数字,地区或城市代码放在圆括号——对不使用地区或城市代码的国家(地区),则省略该组件。

电话号码:这包含从0到9的一个或多个数字

@return验证成功返回true,验证失败返回false/publicstaticbooleancheckPhone(Stringphone){Stringregex="(\\+\\d+)?(\\d{3,4}\\-?)?\\d{7,8}$";returnPattern.matches(regex,phone);}/验证整数(正整数和负整数)@paramdigit一位或多位0-9之间的整数@return验证成功返回true,验证失败返回false/publicstaticbooleancheckDigit(Stringdigit){Stringregex="\\-?[1-9]\\d+";returnPattern.matches(regex,digit);}/验证整数和浮点数(正负整数和正负浮点数)@paramdecimals一位或多位0-9之间的浮点数,如:1.23,233.30@return验证成功返回true,验证失败返回false/publicstaticbooleancheckDecimals(Stringdecimals){Stringregex="\\-?[1-9]\\d+(\\.\\d+)?";returnPattern.matches(regex,decimals);}/验证空白字符@paramblankSpace空白字符,包括:空格、\t、\n、\r、\f、\x0B@return验证成功返回true,验证失败返回false/publicstaticbooleancheckBlankSpace(StringblankSpace){Stringregex="\\s+";returnPattern.matches(regex,blankSpace);}/验证中文@paramchinese中文字符@return验证成功返回true,验证失败返回false/publicstaticbooleancheckChinese(Stringchinese){Stringregex="^[\u4E00-\u9FA5]+$";returnPattern.matches(regex,chinese);}/验证日期(年月日)@parambirthday日期,格式:1992-09-03,或1992.09.03@return验证成功返回true,验证失败返回false/publicstaticbooleancheckBirthday(Stringbirthday){Stringregex="[1-9]{4}([-./])\\d{1,2}\\1\\d{1,2}";returnPattern.matches(regex,birthday);}/验证URL地址@paramurl格式:http://blog.csdn.net:80/xyang81/article/details/7705960?或http://www.csdn.net:80@return验证成功返回true,验证失败返回false/publicstaticbooleancheckURL(Stringurl){Stringregex="(https?://(w{3}\\.)?)?\\w+\\.\\w+(\\.[a-zA-Z]+)(:\\d{1,5})?(/\\w)(\\??(.+=.)?(&.+=.)?)?";returnPattern.matches(regex,url);}/
获取网址URL的一级域
@paramurl@return/publicstaticStringgetDomain(Stringurl){Patternp=Patternpile("(?<=http://|\\.)[^.]?\\.(com|cn|net|org|biz|info|cc|tv)",Pattern.CASE_INSENSITIVE);//获取完整的域名//Patternp=Patternpile("[^//]?\\.(com|cn|net|org|biz|info|cc|tv)",Pattern.CASE_INSENSITIVE);Matchermatcher=p.matcher(url);matcher.find();returnmatcher.group();}/匹配中国邮政编码@parampostcode邮政编码@return验证成功返回true,验证失败返回false/publicstaticbooleancheckPostcode(Stringpostcode){Stringregex="[1-9]\\d{5}";returnPattern.matches(regex,postcode);}/匹配IP地址(简单匹配,格式,如:192.168.1.1,127.0.0.1,没有匹配IP段的大小)@paramipAddressIPv4标准地址@return验证成功返回true,验证失败返回false/publicstaticbooleancheckIpAddress(StringipAddress){Stringregex="[1-9](\\d{1,2})?\\.(0|([1-9](\\d{1,2})?))\\.(0|([1-9](\\d{1,2})?))\\.(0|([1-9](\\d{1,2})?))";returnPattern.matches(regex,ipAddress);}}



分享一个用正则表达式校验电话号码、身份证号、日期格式、URL、Email等等格式的工具类



packagecom.eabax.util;importjava.util.regex.Matcher;importjava.util.regex.Pattern;www.visa158.com/验证工具类@authoradmin/publicclassValidation{//------------------常量定义/Email正则表达式="^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";///publicstaticfinalStringEMAIL="^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";;publicstaticfinalStringEMAIL="\\w+(\\.\\w+)@\\w+(\\.\\w+)+";/电话号码正则表达式=(^(\d{2,4}[-_-—]?)?\d{3,8}([-_-—]?\d{3,8})?([-_-—]?\d{1,7})?$)|(^0?1[35]\d{9}$)/publicstaticfinalStringPHONE="(^(\\d{2,4}[-_-—]?)?\\d{3,8}([-_-—]?\\d{3,8})?([-_-—]?\\d{1,7})?$)|(^0?1[35]\\d{9}$)";/手机号码正则表达式=^(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9])\d{8}$/publicstaticfinalStringMOBILE="^(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9])\\d{8}$";/Integer正则表达式^-?(([1-9]\d$)|0)/publicstaticfinalStringINTEGER="^-?(([1-9]\\d$)|0)";/正整数正则表达式>=0^[1-9]\d|0$/publicstaticfinalStringINTEGER_NEGATIVE="^[1-9]\\d|0$";/负整数正则表达式<=0^-[1-9]\d|0$/publicstaticfinalStringINTEGER_POSITIVE="^-[1-9]\\d|0$";/Double正则表达式^-?([1-9]\d\.\d|0\.\d[1-9]\d|0?\.0+|0)$/publicstaticfinalStringDOUBLE="^-?([1-9]\\d\\.\\d|0\\.\\d[1-9]\\d|0?\\.0+|0)$";/正Double正则表达式>=0^[1-9]\d\.\d|0\.\d[1-9]\d|0?\.0+|0$/publicstaticfinalStringDOUBLE_NEGATIVE="^[1-9]\\d\\.\\d|0\\.\\d[1-9]\\d|0?\\.0+|0$";/负Double正则表达式<=0^(-([1-9]\d\.\d|0\.\d[1-9]\d))|0?\.0+|0$/publicstaticfinalStringDOUBLE_POSITIVE="^(-([1-9]\\d\\.\\d|0\\.\\d[1-9]\\d))|0?\\.0+|0$";/年龄正则表达式^(?:[1-9][0-9]?|1[01][0-9]|120)$匹配0-120岁/publicstaticfinalStringAGE="^(?:[1-9][0-9]?|1[01][0-9]|120)$";/邮编正则表达式[0-9]\d{5}(?!\d)国内6位邮编/publicstaticfinalStringCODE="[0-9]\\d{5}(?!\\d)";/匹配由数字、26个英文字母或者下划线组成的字符串^\w+$/publicstaticfinalStringSTR_ENG_NUM_="^\\w+$";/匹配由数字和26个英文字母组成的字符串^[A-Za-z0-9]+$/publicstaticfinalStringSTR_ENG_NUM="^[A-Za-z0-9]+";/匹配由26个英文字母组成的字符串^[A-Za-z]+$/publicstaticfinalStringSTR_ENG="^[A-Za-z]+$";/过滤特殊字符串正则regEx="[`~!@#$%^&()+=|{}'':;'',\\[\\].<>/?~!@#¥%……&()——+|{}【】‘;:”“''。,、?]";/publicstaticfinalStringSTR_SPECIAL="[`~!@#$%^&()+=|{}'':;'',\\[\\].<>/?~!@#¥%……&()——+|{}【】‘;:”“''。,、?]";/日期正则支持:YYYY-MM-DDYYYY/MM/DDYYYY_MM_DDYYYYMMDDYYYY.MM.DD的形式/publicstaticfinalStringDATE_ALL="((^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._]?)(10|12|0?[13578])([-\\/\\._]?)(3[01]|[12][0-9]|0?[1-9])$)"+"|(^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._]?)(11|0?[469])([-\\/\\._]?)(30|[12][0-9]|0?[1-9])$)"+"|(^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._]?)(0?2)([-\\/\\._]?)(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)|(^([3579][26]00)"+"([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)"+"|(^([1][89][0][48])([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)|(^([2-9][0-9][0][48])([-\\/\\._]?)"+"(0?2)([-\\/\\._]?)(29)$)"+"|(^([1][89][2468][048])([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)|(^([2-9][0-9][2468][048])([-\\/\\._]?)(0?2)"+"([-\\/\\._]?)(29)$)|(^([1][89][13579][26])([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)|"+"(^([2-9][0-9][13579][26])([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$))";/日期正则支持:YYYY-MM-DD/publicstaticfinalStringDATE_FORMAT1="(([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})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)";/URL正则表达式匹配httpwwwftp/publicstaticfinalStringURL="^(http|www|ftp|)?(://)?(\\w+(-\\w+))(\\.(\\w+(-\\w+)))((:\\d+)?)(/(\\w+(-\\w+)))(\\.?(\\w))(\\?)?"+"(((\\w%)(\\w\\?)(\\w:)(\\w\\+)(\\w\\.)(\\w&)(\\w-)(\\w=)(\\w%)(\\w\\?)"+"(\\w:)(\\w\\+)(\\w\\.)"+"(\\w&)(\\w-)(\\w=))(\\w))$";/身份证正则表达式/publicstaticfinalStringIDCARD="((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65)[0-9]{4})"+"(([1|2][0-9]{3}[0|1][0-9][0-3][0-9][0-9]{3}"+"[Xx0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3}))";/机构代码/publicstaticfinalStringJIGOU_CODE="^[A-Z0-9]{8}-[A-Z0-9]$";/匹配数字组成的字符串^[0-9]+$/publicstaticfinalStringSTR_NUM="^[0-9]+$";////------------------验证方法/判断字段是否为空符合返回ture@paramstr@returnboolean/publicstaticsynchronizedbooleanStrisNull(Stringstr){returnnull==str||str.trim().length()<=0?true:false;}/判断字段是非空符合返回ture@paramstr@returnboolean/publicstaticbooleanStrNotNull(Stringstr){return!StrisNull(str);}/字符串null转空@paramstr@returnboolean/publicstaticStringnulltoStr(Stringstr){returnStrisNull(str)?"":str;}/字符串null赋值默认值@paramstr目标字符串@paramdefaut默认值@returnString/publicstaticStringnulltoStr(Stringstr,Stringdefaut){returnStrisNull(str)?defaut:str;}/判断字段是否为Email符合返回ture@paramstr@returnboolean/publicstaticbooleanisEmail(Stringstr){returnRegular(str,EMAIL);}/判断是否为电话号码符合返回ture@paramstr@returnboolean/publicstaticbooleanisPhone(Stringstr){returnRegular(str,PHONE);}/判断是否为手机号码符合返回ture@paramstr@returnboolean/publicstaticbooleanisMobile(Stringstr){returnRegular(str,MOBILE);}/判断是否为Url符合返回ture@paramstr@returnboolean/publicstaticbooleanisUrl(Stringstr){returnRegular(str,URL);}/判断字段是否为数字正负整数正负浮点数符合返回ture@paramstr@returnboolean/publicstaticbooleanisNumber(Stringstr){returnRegular(str,DOUBLE);}/判断字段是否为INTEGER符合返回ture@paramstr@returnboolean/publicstaticbooleanisInteger(Stringstr){returnRegular(str,INTEGER);}/判断字段是否为正整数正则表达式>=0符合返回ture@paramstr@returnboolean/publicstaticbooleanisINTEGER_NEGATIVE(Stringstr){returnRegular(str,INTEGER_NEGATIVE);}/判断字段是否为负整数正则表达式<=0符合返回ture@paramstr@returnboolean/publicstaticbooleanisINTEGER_POSITIVE(Stringstr){returnRegular(str,INTEGER_POSITIVE);}/判断字段是否为DOUBLE符合返回ture@paramstr@returnboolean/publicstaticbooleanisDouble(Stringstr){returnRegular(str,DOUBLE);}/判断字段是否为正浮点数正则表达式>=0符合返回ture@paramstr@returnboolean/publicstaticbooleanisDOUBLE_NEGATIVE(Stringstr){returnRegular(str,DOUBLE_NEGATIVE);}/判断字段是否为负浮点数正则表达式<=0符合返回ture@paramstr@returnboolean/publicstaticbooleanisDOUBLE_POSITIVE(Stringstr){returnRegular(str,DOUBLE_POSITIVE);}/判断字段是否为日期符合返回ture@paramstr@returnboolean/publicstaticbooleanisDate(Stringstr){returnRegular(str,DATE_ALL);}/验证2010-12-10@paramstr@return/publicstaticbooleanisDate1(Stringstr){returnRegular(str,DATE_FORMAT1);}/判断字段是否为年龄符合返回ture@paramstr@returnboolean/publicstaticbooleanisAge(Stringstr){returnRegular(str,AGE);}/判断字段是否超长字串为空返回fasle,超过长度{leng}返回ture反之返回false@paramstr@paramleng@returnboolean/publicstaticbooleanisLengOut(Stringstr,intleng){returnStrisNull(str)?false:str.www.hunanwang.nettrim().length()>leng;}/判断字段是否为身份证符合返回ture@paramstr@returnboolean/publicstaticbooleanisIdCard(Stringstr){if(StrisNull(str))returnfalse;if(str.trim().length()==15||str.trim().length()==18){returnRegular(str,IDCARD);}else{returnfalse;}}/判断字段是否为邮编符合返回ture@paramstr@returnboolean/publicstaticbooleanisCode(Stringstr){returnRegular(str,CODE);}/判断字符串是不是全部是英文字母@paramstr@returnboolean/publicstaticbooleanisEnglish(Stringstr){returnRegular(str,STR_ENG);}/判断字符串是不是全部是英文字母+数字@paramstr@returnboolean/publicstaticbooleanisENG_NUM(Stringstr){returnRegular(str,STR_ENG_NUM);}/判断字符串是不是全部是英文字母+数字+下划线@paramstr@returnboolean/publicstaticbooleanisENG_NUM_(Stringstr){returnRegular(str,STR_ENG_NUM_);}/过滤特殊字符串返回过滤后的字符串@paramstr@returnboolean/publicstaticStringfilterStr(Stringstr){Patternp=Patternpile(STR_SPECIAL);Matcherm=p.matcher(str);returnm.replaceAll("").trim();}/校验机构代码格式@return/publicstaticbooleanisJigouCode(Stringstr){returnRegular(str,JIGOU_CODE);}/判断字符串是不是数字组成@paramstr@returnboolean/publicstaticbooleanisSTR_NUM(Stringstr){returnRegular(str,STR_NUM);}/匹配是否符合正则表达式pattern匹配返回true@paramstr匹配的字符串@parampattern匹配模式@returnboolean/privatestaticbooleanRegular(Stringstr,Stringpattern){if(null==str||str.trim().length()<=0)returnfalse;Patternp=Patternpile(pattern);Matcherm=p.matcher(str);returnm.matches();}}





















献花(0)
+1
(本文系白狐一梦首藏)