正则校验方法
/**
* @param rex 正则校验规则
* @param str 要校验的字符串
* @return 返回校验结果,若满足校验规则,则返回true,否则返回false
*/
private static Boolean match(String rex, String str) {
// TODO Auto-generated method stub
Pattern pattern = Pattern.compile(rex);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}
常用的校验规则
汉字
/**
* @param str 要校验的字符串
*/
private static void Chinese(String str) {
// TODO Auto-generated method stub
String match = "[\u4e00-\\u9fa5]+";
System.out.println("汉字校验:" + match(match, str));
}
字母和数字
/**
* @param str 要校验的字符串
*/
private static void EngAndNum(String str) {
// TODO Auto-generated method stub
String match = "[a-zA-Z0-9]+";
System.out.println("字母和数字校验:" + match(match, str));
}
不允许出现特殊字符#
/**
* ^代表非,既不允许出现特殊字符#
* @param str 要校验的字符串
*/
private static void Special(String str) {
// TODO Auto-generated method stub
String match ="[^#]+";
System.out.println("不允许输入#:"+match(match, str));
}
18位身份证
/**
* 校验18位二代身份证
* @param str 要校验的字符串
*/
private static void IdNumber(String str) {
// TODO Auto-generated method stub
String match ="^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$";
System.out.println("校验二代身份证:"+match(match, str));
}