Heim > Web-Frontend > js-Tutorial > Hauptteil

Perfekte Implementierung der regulären Methode zur ID-Kartenüberprüfung

一个新手
Freigeben: 2017-10-19 09:47:00
Original
2043 Leute haben es durchsucht

Hinweis:

1. Es sollten nur sehr wenige 15-stellige ID-Nummern vorhanden sein.

2 🎜>

3. Das Geburtsjahr ist 1900-2099, und die Anzahl der Tage in jedem Monat wird ebenfalls überprüft (unter Berücksichtigung der Situation von Schaltmonaten).

4 Für Details. Ich glaube es. Nachdem Sie es gelesen haben, können Sie es selbst schreiben,

5. Derzeit ist es nicht möglich, den Standortcode genau zu überprüfen Erfasste und sortierte den Standortcode und stellte eine Abfrage-API nur als Referenz bereit.

Wenn es Ungenauigkeiten gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen

API-Adresse: http://www.xuzee.com/api/idcard.php

Schnittstellenbeschreibung: http:// /www.xuzee.com/api/

6. Diese Überprüfungsfunktion wird derzeit im Projekt ausgeführt. Es wurden noch keine Probleme festgestellt aktualisiert.

Oben

Geben Sie direkt den Code ein:


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 {&#39;status&#39;:0,&#39;msg&#39;:&#39;身份证校验码不合规&#39;}
        }
        return {&#39;status&#39;:1,&#39;msg&#39;:&#39;校验通过&#39;}
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonPerfekte Implementierung der regulären Methode zur ID-Kartenüberprüfung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage