清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
import java.util.regex.Pattern;
/**
* 表单校验工具类
*
* @author sunger
*
*/
public class FormValidation {
/**
* 手机号校验 注:1.支持最新170手机号码 2.支持+86校验
*
* @param phoneNum
* 手机号码
* @return 验证通过返回true
*/
public static boolean isMobile(String phoneNum) {
if (phoneNum == null)
return false;
// 如果手机中有+86则会自动替换掉
return validation("^[1][3,4,5,7,8][0-9]{9}$",
phoneNum.replace("+86", ""));
}
/**
* 用户名校验,默认用户名长度至少3个字符,最大长度为15<br>
* 可修改正则表达式以实现不同需求
*
* @param username
* 用户名
* @return
*/
public static boolean isUserName(String username) {
/***
* 正则表达式为:^[a-z0-9_-]{3,15}$ 各部分作用如下: [a-z0-9_-] -----------
* 匹配列表中的字符,a-z,0–9,下划线,连字符 {3,15}-----------------长度至少3个字符,最大长度为15
* 如果有不同需求的可以参考以上修改正则表达式
*/
return validation("^[a-z0-9_-]{3,15}$", username);
}
/**
* 密码校验
* 要求6-16位数字和英文字母组合
* @param pwd
* @return
*/
public static boolean isPassword(String pwd) {
/**
* ^ 匹配一行的开头位置(?![0-9]+$) 预测该位置后面不全是数字
* (?![a-zA-Z]+$) 预测该位置后面不全是字母
* [0-9A-Za-z] {6,16} 由6-16位数字或这字母组成
*/
return validation("^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$", pwd);
}
/**
* 邮箱校验
*
* @param mail
* 邮箱字符串
* @return 如果是邮箱则返回true,如果不是则返回false
*/
public static boolean isEmail(String mail) {
return validation(
"^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$",
mail);
}
/**
* 正则校验
*
* @param pattern正则表达式
* @param str
* 需要校验的字符串
* @return 验证通过返回true
*/
public static boolean validation(String pattern, String str) {
if (str == null)
return false;
return Pattern.compile(pattern).matcher(str).matches();
}
}