Heim  >  Artikel  >  Web-Frontend  >  Der reguläre JS-Ausdruck implementiert die Funktion zur Überprüfung des Personalausweises perfekt

Der reguläre JS-Ausdruck implementiert die Funktion zur Überprüfung des Personalausweises perfekt

小云云
小云云Original
2018-01-09 13:57:142884Durchsuche

In diesem Artikel werden hauptsächlich reguläre JS-Ausdrücke zur perfekten Implementierung der ID-Karten-Überprüfungsfunktion vorgestellt. Freunde, die sie benötigen, können darauf verweisen.

Hinweis:

1 Es sollten derzeit nur sehr wenige 15-stellige ID-Nummern verifiziert werden,

2. xX unterscheidet nicht zwischen Groß- und Kleinschreibung,

3. Das Geburtsjahr ist 1900-2099, und die Anzahl der Tage in jedem Monat wird ebenfalls überprüft (unter Berücksichtigung der Schaltsituation). Weitere Informationen finden Sie in den Verifizierungsregeln. Ich glaube, Sie können selbst eine schreiben: https://jingyan.baidu .com/article/7f41ececff944a593d095c8c.html

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

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:

Verwandte Empfehlungen:

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;}
}
Häufig verwendet 15 reguläre JS-Ausdrücke

JS-reguläre Ausdrücke, die beherrscht werden müssen

Umfassendes Verständnis der regulären JS-Ausdrücke --- Gruppierung

Das obige ist der detaillierte Inhalt vonDer reguläre JS-Ausdruck implementiert die Funktion zur Überprüfung des Personalausweises perfekt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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