Maison > Article > interface Web > L'expression régulière JS implémente parfaitement la fonction de vérification de la carte d'identité
Cet article présente principalement les expressions régulières JS pour implémenter parfaitement la fonction de vérification des cartes d'identité. Les amis dans le besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.
Remarque :
1 Seuls les numéros d'identification à 18 chiffres sont vérifiés. Il devrait y avoir très peu de numéros d'identification à 15 chiffres maintenant, <.>
2. xX n'est pas sensible à la casse, 3. L'année de naissance est 1900-2099, et le nombre de jours dans chaque mois est également vérifié (en tenant compte de la situation de saut). mois), 4. Voir les règles de vérification pour plus de détails. L'écriture est plus détaillée et claire. Je pense que vous pouvez en écrire une vous-même après l'avoir lu. .com/article/7f41ececff944a593d095c8c.html 5. À l'heure actuelle, il n'est pas possible de vérifier avec précision le code de localisation. J'ai collecté et trié le code de localisation et fourni une API de requête à titre de référence uniquement. En cas d'inexactitude, veuillez laisser un message pour le signalerAdresse API : http://www.xuzee.com/api/idcard.php Description de l'interface : http:// /www.xuzee.com/api/6. Cette fonction de vérification est actuellement en cours d'exécution dans le projet. Aucun problème n'a encore été trouvé. S'il y a des problèmes, ce sera le cas. mis à jour. Ci-dessus entrez directement le code :
Recommandations associées :
function testid(id) { // 1 "验证通过!", 0 //校验不通过 // id为身份证号码 var format = /^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([7][1])|([8][1-2]))\d{4}(([1][9]\d{2})|([2]\d{3}))(([0][1-9])|([1][0-2]))(([0][1-9])|([1-2][0-9])|([3][0-1]))\d{3}[0-9xX]$/; //号码规则校验 if(!format.test(id)){ return {'status':0,'msg':'身份证号码不合规'}; } //区位码校验 //出生年月日校验 前正则限制起始年份为1900; var year = id.substr(6,4),//身份证年 month = id.substr(10,2),//身份证月 date = id.substr(12,2),//身份证日 time = Date.parse(month+'-'+date+'-'+year),//身份证日期时间戳date now_time = Date.parse(new Date()),//当前时间戳 dates = (new Date(year,month,0)).getDate();//身份证当月天数 if(time>now_time||date>dates){ return {'status':0,'msg':'出生日期不合规'} } //校验码判断 var c = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2); //系数 var b = new Array('1','0','X','9','8','7','6','5','4','3','2'); //校验码对照表 var id_array = id.split(""); var sum = 0; for(var k=0;k<17;k++){ sum+=parseInt(id_array[k])*parseInt(c[k]); } if(id_array[17].toUpperCase() != b[sum%11].toUpperCase()){ return {'status':0,'msg':'身份证校验码不合规'} } return {'status':1,'msg':'校验通过'} }
Couramment utilisé 15 expressions régulières JS
Expressions régulières JS à maîtriser
Compréhension approfondie des expressions régulières JS --- regroupement
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!