常用正则表达式
发布时间:2020-12-13 19:35:14 所属栏目:百科 来源:网络整理
导读:用来在后台验证输入是否符合格式,以防范Javascript Injection和XSS,在网上查了很久,然后自己按要求做了些修改,做过一些验证都可以通过,但是不能确保验证全面。 import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegExPatte
用来在后台验证输入是否符合格式,以防范Javascript Injection和XSS,在网上查了很久,然后自己按要求做了些修改,做过一些验证都可以通过,但是不能确保验证全面。 import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegExPattern { public static boolean validateName(String input){ Pattern name = Pattern.compile("[a-zA-Z]{1,20}"); //1-20个大小写字母 Matcher m = name.matcher(input); return m.matches(); } public static boolean validatePassword(String input){ Pattern password = Pattern.compile("[a-zA-Z0-9]{6,20}"); //6-20个大小写字母和数字,这个可以确保没有这三种类型之外的字符出现,但是不能保证每类字符至少出现一次。每类至少一次的验证在另一个方法里做的。 Matcher m = password.matcher(input); return m.matches(); } public static boolean validateAddress(String input){ if(input.replaceAll(" ","").length() == 0){ return false; } Pattern address = Pattern.compile("[a-zA-Z0-9 ]{1,100}"); //1-100个大小写字母和数字 Matcher m = address.matcher(input); return m.matches(); } public static boolean validateSsn(String input){ Pattern ssn = Pattern.compile("[0-9]{9}"); //9个数字 Matcher m = ssn.matcher(input); return m.matches(); } public static boolean validateTelephone(String input){ Pattern telephone = Pattern.compile("[0-9]{10}"); //10个数字 Matcher m = telephone.matcher(input); return m.matches(); } public static boolean validateAccountID(String input){ Pattern accountID = Pattern.compile("[0-9]{12}"); //12个数字 Matcher m = accountID.matcher(input); return m.matches(); } public static boolean validateOTP(String input){ Pattern otp = Pattern.compile("[0-9]{8}"); //8个数字 Matcher m = otp.matcher(input); return m.matches(); } public static boolean validateCaptcha(String input){ Pattern captcha = Pattern.compile("[a-zA-Z0-9]{6}"); //6个数字、大小写字母 Matcher m = captcha.matcher(input); return m.matches(); } public static boolean validateAmount(String input){ Pattern amount = Pattern.compile("(([1-9]{1}d*)|([0]{1}))(.(d){1,2})?$"); //金额,精确到小数点后两位小数 Matcher m = amount.matcher(input); return m.matches(); } public static boolean validateEmail(String input){ if(input.length() > 50) return false; Pattern email = Pattern.compile("^s*w+(?:.{0,1}[w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*.[a-zA-Z]+s*$"); //Email Matcher m = email.matcher(input); return m.matches(); } public static boolean validateStrID(String input){ Pattern strID = Pattern.compile("[a-z]{2}[a-z]*[1-9]+[0-9]*"); //名首字母+姓+排序 Matcher m = strID.matcher(input); return m.matches(); } public static boolean validateDobYear(String input){ Pattern dobYear = Pattern.compile("[0-9]{4}"); //年 YYYY Matcher m = dobYear.matcher(input); if(m.matches()){ int year = Integer.valueOf(input); if(year >= 1900 && year <= 2013) return true; } return false; } public static boolean validateDobDay(String input){ Pattern dobDay = Pattern.compile("[0-3]?[0-9]{1}"); //日 DD或D Matcher m = dobDay.matcher(input); if(m.matches()){ int day = Integer.valueOf(input); if(day >= 1 && day <= 31) return true; } return false; } public static boolean validateDobMonth(String input){ Pattern dobMonth = Pattern.compile("[01]?[0-9]{1}"); //月 MM或M Matcher m = dobMonth.matcher(input); if(m.matches()){ int month = Integer.valueOf(input); if(month >= 1 && month <= 12) return true; } return false; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |