通用工具类 Java 实现
·
通用工具类 Java 实现
以下是一个包含手机号、身份证验证等常用功能的工具类示例,采用正则表达式实现基础校验逻辑:
import java.util.regex.Pattern;
public class ValidationUtils {
// 手机号正则(简单版)
private static final String MOBILE_REGEX = "^1[3-9]\\d{9}$";
// 身份证正则(18位)
private static final String ID_CARD_REGEX = "^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[0-9Xx]$";
// 邮箱正则
private static final String EMAIL_REGEX = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";
// 银行卡号正则(16-19位数字)
private static final String BANK_CARD_REGEX = "^\\d{16,19}$";
/**
* 验证手机号格式
*/
public static boolean isMobile(String mobile) {
return Pattern.matches(MOBILE_REGEX, mobile);
}
/**
* 验证身份证格式
*/
public static boolean isIdCard(String idCard) {
if (!Pattern.matches(ID_CARD_REGEX, idCard)) {
return false;
}
return verifyIdCardLastDigit(idCard);
}
/**
* 验证身份证最后一位校验码
*/
private static boolean verifyIdCardLastDigit(String idCard) {
char[] chars = idCard.toUpperCase().toCharArray();
int[] coefficient = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
char[] verifyCodes = {'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};
int sum = 0;
for (int i = 0; i < 17; i++) {
sum += (chars[i] - '0') * coefficient[i];
}
return verifyCodes[sum % 11] == chars[17];
}
/**
* 验证邮箱格式
*/
public static boolean isEmail(String email) {
return Pattern.matches(EMAIL_REGEX, email);
}
/**
* 验证银行卡号格式
*/
public static boolean isBankCard(String bankCard) {
return Pattern.matches(BANK_CARD_REGEX, bankCard);
}
/**
* 验证车牌号(新能源+传统)
*/
public static boolean isLicensePlate(String plate) {
更多推荐



所有评论(0)