1.js正则判断身份证号是否正确
以下是一个简单的 JavaScript 函数,使用正则表达式来验证身份证号码的格式是否正确:
function isValidIDCard(idCard) {
// 身份证正则表达式
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
return reg.test(idCard);
}
上述代码仅仅是验证了身份证号码的格式是否正确,而并没有验证身份证号码本身是否合法。如果需要验证身份证号码的合法性,可以使用第三方库或者在线服务。
console.log(isValidIDCard('110101199003072733')); // true
console.log(isValidIDCard('11010119900307273X')); // true
console.log(isValidIDCard('1101011990030727')); // false
console.log(isValidIDCard('110101199003072734')); // false
2.js使用正则判断当前身份证号是否是22岁
要判断身份证号码是否对应一个 22 岁的人,需要先获取身份证号码中的出生日期,然后计算出此人的年龄,最后与 22 进行比较。
function is22YearsOld(idCard) {
// 获取身份证号码中的出生日期
var birth = idCard.match(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})(\d|X)$/);
if (birth == null) {
// 身份证号码格式不正确,直接返回 false
return false;
}
var year = birth[2];
var month = birth[3];
var day = birth[4];
// 计算此人的出生日期
var birthday = new Date(year + '-' + month + '-' + day);
// 计算此人的年龄
var age = new Date().getFullYear() - birthday.getFullYear();
if (new Date().getMonth() < birthday.getMonth() ||
(new Date().getMonth() == birthday.getMonth() && new Date().getDate() < birthday.getDate())) {
age--;
}
// 判断此人的年龄是否等于 22
return age === 22;
// 判断此人年龄是否小于 22
return age < 22;
}
console.log(is22YearsOld('110101200102151234')); // true
console.log(is22YearsOld('110101199912312345')); // false
版权归原作者 张振涛,代码界的搬运工 所有, 如有侵权,请联系我们删除。