This commit is contained in:
guochunsi
2026-01-20 17:33:36 +08:00
parent 39c07a03ee
commit 48f65a6d1b
26 changed files with 946 additions and 590 deletions

View File

@@ -300,7 +300,7 @@ export function verifyEmail(val: string) {
}
/**
* 身份证
* 身份证大陆18位
* @param val 当前值字符串
* @returns 返回 true: 身份证正确
*/
@@ -311,6 +311,28 @@ export function verifyIdCard(val: string) {
else return true;
}
/**
* 身份证/港澳台证件(支持大陆、香港、澳门、台湾)
* @param val 当前值字符串
* @returns 返回 true: 证件号正确
*/
export function verifyIdCardAll(val: string) {
// 大陆身份证18位
const mainlandIdCard = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
// 香港身份证:字母+6位数字+(校验码),如 A123456(7)
const hkIdCard = /^[A-Z]{1,2}\d{6}\([0-9A]\)$/;
// 澳门身份证1位或7位数字
const macaoIdCard = /^[1-9]\d{0,6}$/;
// 台湾身份证1个字母+9位数字
const taiwanIdCard = /^[A-Z]\d{9}$/;
// 只要匹配其中一种即可
if (mainlandIdCard.test(val) || hkIdCard.test(val) || macaoIdCard.test(val) || taiwanIdCard.test(val)) {
return true;
}
return false;
}
/**
* 姓名
* @param val 当前值字符串
@@ -368,3 +390,15 @@ export function verifyCarNum(val: string) {
// true车牌号正确
else return true;
}
/**
* 准考证号
* @param val 当前值字符串
* @returns 返回 true准考证号正确
*/
export function verifyAdmissionNumber(val: string) {
// false: 准考证号不正确6-20位数字或字母
if (!/^[0-9A-Za-z]{6,20}$/.test(val)) return false;
// true准考证号正确
else return true;
}