import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexTest {
public boolean regexChk(String reg,String str) {
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}
/**
* 检验整数,适用于正整数、负整数、0,负整数不能以-0开头,
* 正整数不能以0开头
* @param numStr
* @return
*/
public boolean checkNumber(String numStr) {
String reg="^(-?)[1-9]+\\d*|0";
return regexChk(reg, numStr);
}
/**
* 手机号码验证,11位,不知道详细的手机号码段,只是验证开头必须是1和位数
* @param cellPhone
* @return
*/
public boolean checkCellPhone(String cellPhone) {
String reg="^[1][\\d]{10}";
return regexChk(reg, cellPhone);
}
/**
* 检验空白符
* @param line
* @return
*/
public boolean checkWhileLine(String line) {
String regex="(\\s|\\t|\\r)+";
return regexChk(regex,line);
}
/**
* 检查EMAIL地址
* 用户名和网站名称必须>=1位字符
* 地址结尾必须是以com|cn|com|cn|net|org|gov|gov.cn|edu|edu.cn结尾
* @param email
* @return
*/
public boolean checkEmail(String email) {
String regex="\\w+\\@\\w+\\.(com|cn|com.cn|net|org|gov|gov.cn|edu|edu.cn)";
return regexChk(regex, email);
}
/**
* 检查邮政编码(中国),6位,第一位必须是非0开头,其他5位数字为0-9
* @param postCode
* @return
*/
public boolean checkPostCode(String postCode) {
String regex="^[1-9]\\d{5}";
return regexChk(regex, postCode);
}
/**
* 检验用户名
* 取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾
* @param userName 用户名
* @param min 最小长度
* @param max 最大长度
* @return
*/
public boolean checkUserName(String userName,int min,int max ) {
String regex="[\\w\u4e00-\u9fa5]{"+min+","+max+"}(?<!_)";
return regexChk(regex,userName);
}
/**
* 查看IP地址是否合法
* @param ipAddr
* @return
*/
public boolean checkIP(String ipAddr) {
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 regexChk(regex,ipAddr);
}
/**
* 验证国内电话号码
* 格式:010-67676767,区号长度3-4位,必须以"0"开头,号码是7-8位
* @param phoneNr
* @return
*/
public boolean checkPhoneNumber(String phoneNr) {
String regex="^[0]\\d{2,3}\\-\\d{7,8}";
return regexChk(regex,phoneNr);
}
/**
* 网址验证<br>
* 符合类型:<br>
* http://www.test.com<br>
* http://163.com
* */
public boolean checkWebSite(String url)
{
String reg="^(http)\\://(\\w+\\.\\w+\\.\\w+|\\w+\\.\\w+)";
return regexChk(reg,url);
}
}
import java.util.regex.Pattern;
public class RegexTest {
public boolean regexChk(String reg,String str) {
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}
/**
* 检验整数,适用于正整数、负整数、0,负整数不能以-0开头,
* 正整数不能以0开头
* @param numStr
* @return
*/
public boolean checkNumber(String numStr) {
String reg="^(-?)[1-9]+\\d*|0";
return regexChk(reg, numStr);
}
/**
* 手机号码验证,11位,不知道详细的手机号码段,只是验证开头必须是1和位数
* @param cellPhone
* @return
*/
public boolean checkCellPhone(String cellPhone) {
String reg="^[1][\\d]{10}";
return regexChk(reg, cellPhone);
}
/**
* 检验空白符
* @param line
* @return
*/
public boolean checkWhileLine(String line) {
String regex="(\\s|\\t|\\r)+";
return regexChk(regex,line);
}
/**
* 检查EMAIL地址
* 用户名和网站名称必须>=1位字符
* 地址结尾必须是以com|cn|com|cn|net|org|gov|gov.cn|edu|edu.cn结尾
* @param email
* @return
*/
public boolean checkEmail(String email) {
String regex="\\w+\\@\\w+\\.(com|cn|com.cn|net|org|gov|gov.cn|edu|edu.cn)";
return regexChk(regex, email);
}
/**
* 检查邮政编码(中国),6位,第一位必须是非0开头,其他5位数字为0-9
* @param postCode
* @return
*/
public boolean checkPostCode(String postCode) {
String regex="^[1-9]\\d{5}";
return regexChk(regex, postCode);
}
/**
* 检验用户名
* 取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾
* @param userName 用户名
* @param min 最小长度
* @param max 最大长度
* @return
*/
public boolean checkUserName(String userName,int min,int max ) {
String regex="[\\w\u4e00-\u9fa5]{"+min+","+max+"}(?<!_)";
return regexChk(regex,userName);
}
/**
* 查看IP地址是否合法
* @param ipAddr
* @return
*/
public boolean checkIP(String ipAddr) {
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 regexChk(regex,ipAddr);
}
/**
* 验证国内电话号码
* 格式:010-67676767,区号长度3-4位,必须以"0"开头,号码是7-8位
* @param phoneNr
* @return
*/
public boolean checkPhoneNumber(String phoneNr) {
String regex="^[0]\\d{2,3}\\-\\d{7,8}";
return regexChk(regex,phoneNr);
}
/**
* 网址验证<br>
* 符合类型:<br>
* http://www.test.com<br>
* http://163.com
* */
public boolean checkWebSite(String url)
{
String reg="^(http)\\://(\\w+\\.\\w+\\.\\w+|\\w+\\.\\w+)";
return regexChk(reg,url);
}
}