js使用正则表达式对身份证号的判断

 更新时间:2023年08月21日 09:10:09   作者:张振涛,代码界的搬运工  
这篇文章主要给大家介绍了关于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')); // 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

总结 

到此这篇关于js使用正则表达式对身份证号判断的文章就介绍到这了,更多相关js正则判断身份证号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaScript原型链及常见的继承方法

    JavaScript原型链及常见的继承方法

    这篇文章主要介绍了JavaScript原型链及常见的继承方法,文章围绕主题展开详细的内容介绍,具有一定的的参考价值,需要的朋友可以参考一下
    2022-07-07
  • 使用时间戳解决ie缓存的问题

    使用时间戳解决ie缓存的问题

    当编辑某条数据时,再回过头来进行编辑,会发现,里面的数据和没有编辑以前是一样的,这就是ie缓存的问题,下面是一个不错的解决方法
    2014-08-08
  • javascript异步编程

    javascript异步编程

    如果编程加入了时间的概念就一切变得非常复杂。通常我们的程序是飞快地解析执行,一毫秒紧接着一毫秒,从上至下地执行,这称之为同步。但如果我们想让后台的程序不等前面的程序执行,就执行呢,于是就有了异步的概念。
    2010-06-06
  • JS读取cookies信息(记录用户名)

    JS读取cookies信息(记录用户名)

    很多网站、博客把网页生成html静态页面了,以利于搜索引擎的索引排名,减轻服务器负担。静态页面由于其稳定快速更快,给用户及站长带来了方便。但评论后如何记住用户的信息呢
    2012-01-01
  • javascript的hashCode函数实现代码小结

    javascript的hashCode函数实现代码小结

    网上找了好一轮,找到个比较像样而且足够短的 hashCode 实现,是从 Java 的 hashCode 中借鉴而得的。原理见 Java hashCode() ,也可以跟这里的 Java String 的源码 参照对比一下
    2020-08-08
  • JavaScript 事件记录使用说明

    JavaScript 事件记录使用说明

    JavaScript 事件记录使用说明需要的朋友可以参考下。
    2009-10-10
  • javascript淡入淡出效果的实现思路

    javascript淡入淡出效果的实现思路

    这个思路是最近写XScroll.js类的时候想明白的。平常我们说的淡入淡出效果,一般分成两部分,一半是淡入,另一半就是淡出了。不过经过分析,我觉得其实只需要一半就行了
    2012-03-03
  • ES7中await如何优雅的捕获异常详解

    ES7中await如何优雅的捕获异常详解

    异常捕获相信对大家来说并不陌生,下面这篇文章主要给大家介绍了关于ES7中await如何优雅的捕获异常的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • JS FormData上传文件的设置方法

    JS FormData上传文件的设置方法

    使用FormData上传文件时,总是获取不到req.file对象。发现是没有配置对FormData导致的,怎么解决这个问题呢?下面小编给大家带来了JS FormData上传文件的设置方法,需要的朋友参考下吧
    2017-07-07

最新评论