js juicio regular sobre el número de identificación

1.El código regular JS determina si el número de identificación es correcto

Aquí hay una función de JavaScript simple que usa expresiones regulares para verificar que un número de identificación esté en el formato correcto:

function isValidIDCard(idCard) {
  // 身份证正则表达式
  var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
  return reg.test(idCard);
}

El código anterior solo verifica si el formato del número de tarjeta de identificación es correcto, pero no verifica si el número de tarjeta de identificación en sí es legal. Si necesita verificar la legitimidad del número de identificación, puede utilizar una biblioteca de terceros o un servicio en línea. 

console.log(isValidIDCard('110101199003072733')); // true
console.log(isValidIDCard('11010119900307273X')); // true
console.log(isValidIDCard('1101011990030727')); // false
console.log(isValidIDCard('110101199003072734')); // false

2.js usa expresiones regulares para determinar si el número de identificación actual tiene 22 años

Para determinar si el número de cédula corresponde a una persona de 22 años, primero es necesario obtener la fecha de nacimiento en el número de cédula, luego calcular la edad de la persona y finalmente compararla con 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

Supongo que te gusta

Origin blog.csdn.net/m0_63873004/article/details/129041876
Recomendado
Clasificación