javascript或asp实现的判断身份证号码是否正确两种验证方法_javascript技巧
具体代码如下:
一、用javascript验证:
<script> <BR>function checkIdcard(idcard){ <BR>var Errors=new Array( <BR>"验证通过!", <BR>"身份证号码位数不对!", <BR>"身份证号码出生日期超出范围或含有非法字符!", <BR>"身份证号码校验错误!", <BR>"身份证地区非法!" <BR>); <BR>var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"} <br><br>var idcard,Y,JYM; <BR>var S,M; <BR>var idcard_array = new Array(); <BR>idcard_array = idcard.split(""); <BR>//地区检验 <BR>if(area[parseInt(idcard.substr(0,2))]==null) return Errors[4]; <BR>//身份号码位数及格式检验 <BR>switch(idcard.length){ <BR>case 15: <BR>if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){ <BR>ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性 <BR>} else { <BR>ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性 <BR>} <BR>if(ereg.test(idcard)) return Errors[0]; <BR>else return Errors[2]; <BR>break; <BR>case 18: <BR>//18位身份号码检测 <BR>//出生日期的合法性检查 <BR>//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9])) <BR>//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8])) <BR>if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){ <BR>ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式 <BR>} else { <BR>ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式 <BR>} <BR>if(ereg.test(idcard)){//测试出生日期的合法性 <BR>//计算校验位 <BR>S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 <BR>+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 <BR>+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 <BR>+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 <BR>+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 <BR>+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 <BR>+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 <BR>+ parseInt(idcard_array[7]) * 1 <BR>+ parseInt(idcard_array[8]) * 6 <BR>+ parseInt(idcard_array[9]) * 3 ; <BR>Y = S % 11; <BR>M = "F"; <BR>JYM = "10X98765432"; <BR>M = JYM.substr(Y,1);//判断校验位 <BR>if(M == idcard_array[17]) return Errors[0]; //检测ID的校验位 <BR>else return Errors[3]; <BR>} <BR>else return Errors[2]; <BR>break; <BR>default: <BR>return Errors[1]; <BR>break; <BR>} <br><br>} <BR>alert(checkIdcard("220183198808081610")) <BR></script>
二、通过asp代码验证:
Function checkIDCard(idcard) '-1为正确的身份证,否则为非法身份证
Dim Y, JYM
Dim S, M
Dim area
area = "11,12,13,14,15,21,22,23,31,32,33,34,35,36,37,41,42,43,44,45,46,50,51,52,53,54,61,62,63,64,65,71,81,82,91"
Dim ereg
Set ereg = New regexp
'地区检验
If InStr(1, area, Mid(idcard, 1, 2)) = 0 Then checkIDCard = 1: Exit Function
'身份号码位数及格式检验
Select Case Len(idcard)
Case 15
If ((CInt(Mid(idcard, 7, 2)) + 1900) Mod 4 = 0 or ((CInt(Mid(idcard, 7, 2)) + 1900) Mod 100 = 0 And (CInt(Mid(idcard, 7, 2)) + 1900) Mod 4 = 0)) Then
ereg.Pattern = "^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$" ';//测试出生日期的合法性
Else
ereg.Pattern = "^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$" ';//测试出生日期的合法性
End If
If (ereg.test(idcard)) Then
checkIDCard = -1
Else
checkIDCard = 2
End If
Case 18
'//18位身份号码检测
'//出生日期的合法性检查
If ((CInt(Mid(idcard, 7, 2)) + 1900) Mod 4 = 0 or ((CInt(Mid(idcard, 7, 2)) + 1900) Mod 100 = 0 And (CInt(Mid(idcard, 7, 2)) + 1900) Mod 4 = 0)) Then
ereg.Pattern = "^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$" ';//闰年出生日期的合法性正则表达式
Else
ereg.Pattern = "^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$" ';//平年出生日期的合法性正则表达式
End If
If (ereg.test(idcard)) Then
'//计算校验位
S = (CInt(Mid(idcard, 0 + 1, 1)) + CInt(Mid(idcard, 10 + 1, 1))) * 7 _
+ (CInt(Mid(idcard, 1 + 1, 1)) + CInt(Mid(idcard, 11 + 1, 1))) * 9 _
+ (CInt(Mid(idcard, 2 + 1, 1)) + CInt(Mid(idcard, 12 + 1, 1))) * 10 _
+ (CInt(Mid(idcard, 3 + 1, 1)) + CInt(Mid(idcard, 13 + 1, 1))) * 5 _
+ (CInt(Mid(idcard, 4 + 1, 1)) + CInt(Mid(idcard, 14 + 1, 1))) * 8 _
+ (CInt(Mid(idcard, 5 + 1, 1)) + CInt(Mid(idcard, 15 + 1, 1))) * 4 _
+ (CInt(Mid(idcard, 6 + 1, 1)) + CInt(Mid(idcard, 16 + 1, 1))) * 2 _
+ CInt(Mid(idcard, 7 + 1, 1)) * 1 _
+ CInt(Mid(idcard, 8 + 1, 1)) * 6 _
+ CInt(Mid(idcard, 9 + 1, 1)) * 3
Y = S Mod 11
M = "F"
JYM = "10X98765432"
M = Mid(JYM, Y + 1, 1)
If (M = Mid(idcard, 17 + 1, 1)) Then checkIDCard = -1 Else checkIDCard = 3
Else
checkIDCard = 4
End If
Case Else
checkIDCard = Len(idcard)
End Select
End Function%>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP-E-Mail-Erkennung: Stellen Sie fest, ob die E-Mail erfolgreich gesendet wurde. Bei der Entwicklung von Webanwendungen müssen Sie häufig E-Mails senden, um mit Benutzern zu kommunizieren. Ob es sich um Registrierungsbestätigungen, das Zurücksetzen von Passwörtern oder das Versenden von Benachrichtigungen handelt, die E-Mail-Funktion ist ein unverzichtbarer Bestandteil. Manchmal können wir jedoch nicht sicherstellen, dass die E-Mail tatsächlich erfolgreich gesendet wurde. Daher müssen wir eine E-Mail-Erkennung durchführen und feststellen, ob die E-Mail erfolgreich gesendet wurde. In diesem Artikel wird erläutert, wie Sie PHP zum Implementieren dieser Funktion verwenden. 1. Verwenden Sie den SMTP-Server zum Senden von E-Mails. Zuerst müssen wir SM verwenden

Verwenden Sie die Funktion File.isDirectory() von Java, um festzustellen, ob eine Datei vorhanden ist und einen Verzeichnistyp hat. Bei der Java-Programmierung kommt es häufig vor, dass Sie feststellen müssen, ob eine Datei vorhanden ist und einen Verzeichnistyp hat. Java stellt die File-Klasse zum Betreiben von Dateien und Verzeichnissen bereit. Die Funktion isDirectory() kann uns dabei helfen, festzustellen, ob eine Datei ein Verzeichnistyp ist. Die Funktion File.isDirectory() ist eine Methode in der File-Klasse. Ihre Funktion besteht darin, die aktuelle Datei zu ermitteln

Verwenden Sie die Funktion Character.isDigit() von Java, um festzustellen, ob es sich bei einem Zeichen um ein numerisches Zeichen handelt. Zeichen werden intern im Computer in Form von ASCII-Codes dargestellt. Unter diesen sind die ASCII-Codewerte, die den numerischen Zeichen 0 bis 9 entsprechen, 48 bis 57. Um festzustellen, ob ein Zeichen eine Zahl ist, können Sie die von der Character-Klasse in Java bereitgestellte Methode isDigit() verwenden. Die Methode isDigit() gehört zur Klasse Character

Bei der Datenverarbeitung ist es häufig erforderlich, Informationen in einem bestimmten Format aus Texten zu extrahieren. Als relativ häufig vorkommende persönliche Information wird die ID-Nummer häufig bei der Datenverarbeitung verwendet. Sie können reguläre Python-Ausdrücke verwenden, um die ID-Nummer einfach zu extrahieren und bestimmte Überprüfungen durchzuführen. Die Personalausweisnummer besteht aus 18 Ziffern, darunter die Region, das Geburtsdatum, der Prüfcode und andere Informationen in der Personalausweisnummer. In Python können wir die reguläre Ausdrucksfunktion des re-Moduls verwenden, um die ID-Nummer zu extrahieren. Kopf

Ausweisnummer und Reisepassnummer sind im Leben der Menschen übliche Dokumentennummern. Bei der Implementierung von Funktionen, die diese Dokumentnummern betreffen, ist es häufig erforderlich, eine Formatprüfung der eingegebenen Nummern durchzuführen, um deren Richtigkeit sicherzustellen. In PHP können reguläre Ausdrücke verwendet werden, um diese Funktion zu erreichen. In diesem Artikel wird erläutert, wie Sie mithilfe regulärer PHP-Ausdrücke überprüfen, ob die Eingabezeichenfolge das Format einer ID-Nummer oder einer Passnummer hat. 1. Überprüfung der Ausweisnummer Die Ausweisnummer besteht aus 18 Ziffern und die letzte Ziffer kann ein Buchstabe sein (Prüfcode). Ihr Format ist wie folgt: die ersten 6

So verwenden Sie die isInfinite()-Methode der Double-Klasse, um zu bestimmen, ob eine Zahl unendlich ist. In Java ist die Double-Klasse eine Wrapper-Klasse, die zur Darstellung von Gleitkommazahlen verwendet wird. Diese Klasse stellt eine Reihe von Methoden bereit, die bequem mit Gleitkommazahlen arbeiten können. Unter anderem wird die Methode isInfinite() verwendet, um zu bestimmen, ob eine Gleitkommazahl unendlich ist. Unendlich bezieht sich auf positive Unendlichkeit und negative Unendlichkeit, die so groß sind, dass sie den Bereich überschreiten, den Gleitkommazahlen darstellen können. In Computern kann der Maximalwert einer Gleitkommazahl über die Double-Klasse ermittelt werden

Die ID-Nummer ist ein Identitätsnachweismittel, das wir in unserem täglichen Leben häufig verwenden, und die darin enthaltenen Geburtstagsinformationen sind ebenfalls sehr wichtig. Wenn wir PHP zur Überprüfung von ID-Nummern verwenden, müssen wir häufig feststellen, ob die Geburtstagsinformationen korrekt sind. In diesem Artikel wird erläutert, wie Sie mithilfe regulärer PHP-Ausdrücke die Geburtstagsinformationen der ID-Nummer überprüfen. 1. Das Grundformat der ID-Nummer ist eine Zeichenfolge bestehend aus 18 Ziffern und Buchstaben. Die letzte Ziffer kann eine Zahl oder ein Buchstabe sein und kann aus Groß- oder Kleinbuchstaben bestehen. Die ersten 17 Ziffern geben den Inhaber des Personalausweises an

Frage: Wie kann in der Go-Sprache festgestellt werden, ob das Datum der Vortag ist? In der täglichen Entwicklung stoßen wir häufig auf Situationen, in denen wir feststellen müssen, ob das Datum der Vortag ist. In der Go-Sprache können wir diese Funktion durch Zeitberechnung implementieren. Das Folgende wird mit spezifischen Codebeispielen kombiniert, um zu demonstrieren, wie man in der Go-Sprache ermittelt, ob das Datum der Vortag ist. Zuerst müssen wir das Zeitpaket in der Go-Sprache importieren. Der Code lautet wie folgt: import("time") Dann definieren wir eine Funktion IsYest
