在项目的过程中正则的判断是必不可少的一部分,一下跟大家分享一些心得:
/**
* 检验手机合格性
* @param phoneNum
* @return
*/
public static boolean isPhoneNum(String phoneNum){
// Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
if(phoneNum == null)
return false;
Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-9]))\\d{8}$");
Matcher m = p.matcher(phoneNum);
boolean b = m.matches();
if(b) {
return true;
}else{
return false;
}
}
/**
* 检测密码的合格性6-20个英文字符和数字
* @param pwd
* @return
*/
public static boolean isPWD(String pwd){
if(pwd == null)
return false;
Pattern p = Pattern.compile("^[a-zA-Z0-9]{6,19}$");
Matcher m = p.matcher(pwd);
boolean b = m.matches();
if(b) {
return true;
}else{
return false;
}
}
/**
* 检验email合格性
* @param email
* @return
*/
public static boolean isEmail(String email){
if(email == null)
return false;
Pattern p = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
Matcher m = p.matcher(email);
boolean b = m.matches();
if(b) {
return true;
}else{
return false;
}
}
/**
* 只含有汉字、数字、字母、下划线,并且不能以下划线开头和结尾:^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$
* @param name
* @return
*/
public static Boolean isName(String name){
if(name == null){
return false;
}
Pattern p = Pattern.compile("^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$");
Matcher m = p.matcher(name);
boolean b = m.matches();
if(b) {
return true;
}else{
return false;
}
}