java正则表达式应用例子
2015-08-20 11:21
501 查看
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);
}
}
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);
}
}
相关文章推荐
- 八皇后问题java实现
- java 中cookie作用域问题
- java 中cookie作用域问题
- Java基础 笔记(五)
- eclipse启动无响应,停留在Loading workbench状态
- Eclipse + CDT Program "gcc" not found in PATH
- 在MyEclipse中更换或修改svn的用户名和密码
- SAS JAVA jar包
- String.split的陷阱
- Java 控制台输入 Scanner
- java注解(Annotation)
- spring+springMVC+JPA配置详解
- 举例详解Java中的访问权限修饰符
- 每日五题(struts2)
- java基础知识
- Dubbo java.io.IOException: Can not lock the registry cache file
- Spring Framework 源码阅读
- [error handle][java] 有错误信息时,getErrorStream()返回null
- Java基础笔记(三)
- SpringMVC Service 注解及简单配置文件讲解