js使用正则表达式对身份证号的判断
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')); // false2.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总结
到此这篇关于js使用正则表达式对身份证号判断的文章就介绍到这了,更多相关js正则判断身份证号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
这篇文章主要介绍了JavaScript DOM节点操作,结合实例形式总结分析了JS操作DOM实现新建与删除HTML元素的具体步骤与相关技巧,需要的朋友可以参考下2017-01-01
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
这篇文章主要介绍了fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法,分析了问题出现的原因及相关配置文件设置技巧,需要的朋友可以参考下2017-03-03
详解bootstrap-fileinput文件上传控件的亲身实践
这篇文章主要介绍了详解bootstrap-fileinput文件上传控件的亲身实践,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-03-03
JavaScript中Object.prototype.toString方法的原理
这篇文章主要介绍了JavaScript中Object.prototype.toString方法的原理的相关资料,需要的朋友可以参考下2016-02-02


最新评论