java应用正则表达式——实例
添加时间:2013-8-5 点击量:
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
-
- /
- @author Der
- @date 2006-10-23
- @packeage_name regex
-
- /
- public class RegexChk
- {
-
- public boolean startCheck(String reg,String string)
- {
- boolean tem=false;
-
- Pattern pattern = Pattern.compile(reg);
- Matcher matcher=pattern.matcher(string);
-
- tem=matcher.matches();
- return tem;
- }
-
-
- /
- 查验整数,实用于正整数、负整数、0,负整数不克不及以-0开首,
- 正整数不克不及以0开首
-
- /
- public boolean checkNr(String nr)
- {
- String reg=^(-?)[1-9]+\\d|0;
- return startCheck(reg,nr);
- }
-
- /
- 号码验证,11位,不知道具体的号码段,只是验证开首必须是1和位数
- /
- public boolean checkCellPhone(String cellPhoneNr)
- {
- String reg=^[1][\\d]{10};
- return startCheck(reg,cellPhoneNr);
- }
-
- /
- 查验空白符
- /
- public boolean checkWhiteLine(String line)
- {
- String regex=(\\s|\\t|\\r)+;
-
- return startCheck(regex,line);
- }
-
-
- /
- 搜检EMAIL地址
- 用户名和网站名称必须>=1位字符
- 地址结尾必须是以com|cn|com|cn|net|org|gov|gov.cn|edu|edu.cn结尾
- /
- public boolean checkEmailWithSuffix(String email)
- {
- String regex=\\w+\\@\\w+\\.(com|cn|com.cn|net|org|gov|gov.cn|edu|edu.cn);
-
- return startCheck(regex,email);
- }
-
-
- /
- 搜检EMAIL地址
- 用户名和网站名称必须>=1位字符
- 地址结尾必须是2位以上,如:cn,test,com,info
- /
- public boolean checkEmail(String email)
- {
- String regex=\\w+\\@\\w+\\.\\w{2,};
-
- return startCheck(regex,email);
- }
-
- /
- 搜检邮政编码(中国),6位,第一位必须长短0开首,其他5位数字为0-9
- /
- public boolean checkPostcode(String postCode)
- {
- String regex=^[1-9]\\d{5};
- return startCheck(regex,postCode);
- }
-
- /
- 查验用户名
- 取值局限为a-z,A-Z,0-9,_,汉字,不克不及以_结尾
- 用户名有最小长度和最大长度限制,比如用户名必须是4-20位
- /
- public boolean checkUsername(String username,int min,int max)
- {
- String regex=[\\w\u4e00-\u9fa5]{+min+,+max+}(?<!_);
- return startCheck(regex,username);
- }
- /
- 查验用户名
- 取值局限为a-z,A-Z,0-9,_,汉字,不克不及以_结尾
- 有最小位数限制的用户名,比如:用户名起码为4位字符
- /
- public boolean checkUsername(String username,int min)
- {
- //[\\w\u4e00-\u9fa5]{2,}?
- String regex=[\\w\u4e00-\u9fa5]{+min+,}(?<!_);
-
- return startCheck(regex,username);
- }
-
- /
- 查验用户名
- 取值局限为a-z,A-Z,0-9,_,汉字
- 起码一位字符,最大字符位数无穷制,不克不及以_结尾
- /
- public boolean checkUsername(String username)
- {
- String regex=[\\w\u4e00-\u9fa5]+(?<!_);
- return startCheck(regex,username);
- }
-
- /
- 查看IP地址是否合法
- /
- public boolean checkIP(String ipAddress)
- {
- String regex=(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\. +
- (\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\. +
- (\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\. +
- (\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]);
-
- return startCheck(regex,ipAddress);
- }
-
- /
- 验证国内德律风号码
- 格局:010-67676767,区号长度3-4位,必须以0开首,号码是7-8位
- /
- public boolean checkPhoneNr(String phoneNr)
- {
- String regex=^[0]\\d{2,3}\\-\\d{7,8};
-
- return startCheck(regex,phoneNr);
- }
-
- /
- 验证国内德律风号码
- 格局:6767676, 号码位数必须是7-8位,头一位不克不及是0
- /
- public boolean checkPhoneNrWithoutCode(String phoneNr)
- {
- String reg=^[1-9]\\d{6,7};
-
- return startCheck(reg,phoneNr);
- }
-
- /
- 验证国内德律风号码
- 格局:0106767676,共11位或者12位,必须是0开首
- /
- public boolean checkPhoneNrWithoutLine(String phoneNr)
- {
- String reg=^[0]\\d{10,11};
-
- return startCheck(reg,phoneNr);
- }
-
- /
- 验证国内身份证号码:15或18位,由数字构成,不克不及以0开首
- /
- public boolean checkIdCard(String idNr)
- {
- String reg=^[1-9](\\d{14}|\\d{17});
-
- return startCheck(reg,idNr);
- }
-
- /
- 网址验证<br>
- 合适类型:<br>
- http://www.test.com<br>
- http://163.com
- /
- public boolean checkWebSite(String url)
- {
- //http://www.163.com
- String reg=^(http)\\://(\\w+\\.\\w+\\.\\w+|\\w+\\.\\w+);
-
- return startCheck(reg,url);
- }
- }
本文转载自:http://der.iteye.com/blog/199489 在此感激: 博主uidin的辛苦工作
彼此相爱,却不要让爱成了束缚:不如让它成为涌动的大海,两岸乃是你们的灵魂。互斟满杯,却不要同饮一杯。相赠面包,却不要共食一个。一起歌舞欢喜,却依然各自独立,相互交心,却不是让对方收藏。因为唯有生命之手,方能收容你们的心。站在一起却不要过于靠近。—— 纪伯伦《先知》
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- /
- @author Der
- @date 2006-10-23
- @packeage_name regex
- /
- public class RegexChk
- {
- public boolean startCheck(String reg,String string)
- {
- boolean tem=false;
- Pattern pattern = Pattern.compile(reg);
- Matcher matcher=pattern.matcher(string);
- tem=matcher.matches();
- return tem;
- }
- /
- 查验整数,实用于正整数、负整数、0,负整数不克不及以-0开首,
- 正整数不克不及以0开首
- /
- public boolean checkNr(String nr)
- {
- String reg=^(-?)[1-9]+\\d|0;
- return startCheck(reg,nr);
- }
- /
- 号码验证,11位,不知道具体的号码段,只是验证开首必须是1和位数
- /
- public boolean checkCellPhone(String cellPhoneNr)
- {
- String reg=^[1][\\d]{10};
- return startCheck(reg,cellPhoneNr);
- }
- /
- 查验空白符
- /
- public boolean checkWhiteLine(String line)
- {
- String regex=(\\s|\\t|\\r)+;
- return startCheck(regex,line);
- }
- /
- 搜检EMAIL地址
- 用户名和网站名称必须>=1位字符
- 地址结尾必须是以com|cn|com|cn|net|org|gov|gov.cn|edu|edu.cn结尾
- /
- public boolean checkEmailWithSuffix(String email)
- {
- String regex=\\w+\\@\\w+\\.(com|cn|com.cn|net|org|gov|gov.cn|edu|edu.cn);
- return startCheck(regex,email);
- }
- /
- 搜检EMAIL地址
- 用户名和网站名称必须>=1位字符
- 地址结尾必须是2位以上,如:cn,test,com,info
- /
- public boolean checkEmail(String email)
- {
- String regex=\\w+\\@\\w+\\.\\w{2,};
- return startCheck(regex,email);
- }
- /
- 搜检邮政编码(中国),6位,第一位必须长短0开首,其他5位数字为0-9
- /
- public boolean checkPostcode(String postCode)
- {
- String regex=^[1-9]\\d{5};
- return startCheck(regex,postCode);
- }
- /
- 查验用户名
- 取值局限为a-z,A-Z,0-9,_,汉字,不克不及以_结尾
- 用户名有最小长度和最大长度限制,比如用户名必须是4-20位
- /
- public boolean checkUsername(String username,int min,int max)
- {
- String regex=[\\w\u4e00-\u9fa5]{+min+,+max+}(?<!_);
- return startCheck(regex,username);
- }
- /
- 查验用户名
- 取值局限为a-z,A-Z,0-9,_,汉字,不克不及以_结尾
- 有最小位数限制的用户名,比如:用户名起码为4位字符
- /
- public boolean checkUsername(String username,int min)
- {
- //[\\w\u4e00-\u9fa5]{2,}?
- String regex=[\\w\u4e00-\u9fa5]{+min+,}(?<!_);
- return startCheck(regex,username);
- }
- /
- 查验用户名
- 取值局限为a-z,A-Z,0-9,_,汉字
- 起码一位字符,最大字符位数无穷制,不克不及以_结尾
- /
- public boolean checkUsername(String username)
- {
- String regex=[\\w\u4e00-\u9fa5]+(?<!_);
- return startCheck(regex,username);
- }
- /
- 查看IP地址是否合法
- /
- public boolean checkIP(String ipAddress)
- {
- String regex=(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\. +
- (\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\. +
- (\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\. +
- (\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]);
- return startCheck(regex,ipAddress);
- }
- /
- 验证国内德律风号码
- 格局:010-67676767,区号长度3-4位,必须以0开首,号码是7-8位
- /
- public boolean checkPhoneNr(String phoneNr)
- {
- String regex=^[0]\\d{2,3}\\-\\d{7,8};
- return startCheck(regex,phoneNr);
- }
- /
- 验证国内德律风号码
- 格局:6767676, 号码位数必须是7-8位,头一位不克不及是0
- /
- public boolean checkPhoneNrWithoutCode(String phoneNr)
- {
- String reg=^[1-9]\\d{6,7};
- return startCheck(reg,phoneNr);
- }
- /
- 验证国内德律风号码
- 格局:0106767676,共11位或者12位,必须是0开首
- /
- public boolean checkPhoneNrWithoutLine(String phoneNr)
- {
- String reg=^[0]\\d{10,11};
- return startCheck(reg,phoneNr);
- }
- /
- 验证国内身份证号码:15或18位,由数字构成,不克不及以0开首
- /
- public boolean checkIdCard(String idNr)
- {
- String reg=^[1-9](\\d{14}|\\d{17});
- return startCheck(reg,idNr);
- }
- /
- 网址验证<br>
- 合适类型:<br>
- http://www.test.com<br>
- http://163.com
- /
- public boolean checkWebSite(String url)
- {
- //http://www.163.com
- String reg=^(http)\\://(\\w+\\.\\w+\\.\\w+|\\w+\\.\\w+);
- return startCheck(reg,url);
- }
- }
本文转载自:http://der.iteye.com/blog/199489 在此感激: 博主uidin的辛苦工作
彼此相爱,却不要让爱成了束缚:不如让它成为涌动的大海,两岸乃是你们的灵魂。互斟满杯,却不要同饮一杯。相赠面包,却不要共食一个。一起歌舞欢喜,却依然各自独立,相互交心,却不是让对方收藏。因为唯有生命之手,方能收容你们的心。站在一起却不要过于靠近。—— 纪伯伦《先知》