QQ) {
String regex = "[1-9][0-9]{4,}";
return check(QQ, regex);
}
/** * 验证身份证号码15位或18位 * * @param idCard * @return */
public static boolean checkIdCard(String idCard) {
String regex = "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)";
return check(idCard, regex);
}
/** * 验证邮政编码 * * @param postalCode * @return */
public static boolean checkPostalCode(String postalCode) {
String regex = "[1-9]\\d{5}(?!\\d)";
return check(postalCode, regex);
}
/** * 验证URL地址 * * @param url * @return */
public static boolean checkUrl(String url) {
String regex = "(http|https)://([a-zA-Z0-9\\-\\.]+\\.\\w+)(:\\d+)?(/\\S*)?";
return check(url, regex);
}
/** * 验证日期格式(yyyy-MM-dd) * * @param date * @return */
public static boolean checkDate(String date) {
String regex = "\\d{4}-\\d{1,2}-\\d{1,2}";
return check(date, regex);
}
/** * 验证IP地址 * * @param ip * @return */
public static boolean checkIp(String ip) {
String regex = "(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}";
return check(ip, regex);
}
}
上述代码提供了一个名为`RegexValidateUtil`的Java工具类,用于使用正则表达式对不同类型的表单数据进行验证。这个类包含了一系列静态方法,每个方法专门针对一种特定的数据格式,如邮箱、手机号码、固话号码、传真号码、QQ号码、身份证号码、邮政编码、URL、日期和IP地址。
1. **邮箱验证**:`checkEmail()`方法使用正则表达式`"^\\w+[-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$" `来验证输入的字符串是否符合标准的电子邮件格式。
2. **手机号码验证**:`checkCellphone()`方法针对中国手机号码,匹配11位数字且开头符合特定运营商号码段的字符串。
3. **固话号码验证**:`checkTelephone()`方法验证国内电话号码,支持区号+号码+分机号的形式。
4. **传真号码验证**:`checkFax()`方法与固话号码验证类似,同样处理区号+号码+分机号的格式。
5. **QQ号码验证**:`checkQQ()`方法验证9位到11位的QQ号码。
6. **身份证号码验证**:`checkIdCard()`方法用于验证15位或18位的身份证号码,包括最后一位可能是字母的校验码。
7. **邮政编码验证**:`checkPostalCode()`方法检查6位数字的邮政编码。
8. **URL验证**:`checkUrl()`方法确认输入的字符串是否符合URL的标准格式。
9. **日期验证**:`checkDate()`方法验证“年-月-日”格式的日期字符串。
10. **IP地址验证**:`checkIp()`方法验证IPv4地址,确保其符合标准的IP格式。
这个工具类在实际开发中非常有用,尤其是在Web应用中,用于确保用户输入的数据符合预期的格式,从而减少错误和提高用户体验。开发者可以根据需要调用相应的验证方法,将结果作为判断输入数据有效性的依据。此外,这个工具类还具有扩展性,如果需要验证其他类型的数据,可以通过添加新的方法并编写对应的正则表达式来实现。
1