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() &amp;&amp; new Date().getDate() < birthday.getDate())) {
    age--;
  }
  // 判断此人的年龄是否等于 22
  return age === 22;
   
  // 判断此人年龄是否小于 22
  return age < 22;
}
console.log(is22YearsOld('110101200102151234')); // true
console.log(is22YearsOld('110101199912312345')); // false

原文地址:https://blog.csdn.net/m0_63873004/article/details/129041876

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_16175.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注