具体的なコードは次のとおりです:
1. JavaScript を使用して確認します:
<script> <BR>function checkIdcard(idcard){ <BR>var Errors=new Array( <BR>"検証に合格しました!", <BR>"の数が正しくありませんID 番号に数字が含まれています!"、<BR>"ID カード番号の生年月日が範囲外であるか、不正な文字が含まれています!"、<BR>"ID カード番号の認証が正しくありません!"、<BR>" ID カードのエリアは違法です!" <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>//エリア検査<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>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>else return Errors[2]; <BR>デフォルト: <BR>return <BR>; ><BR>} <BR>alert(checkIdcard("220183198808081610")) <BR></script>> ;
2. ASP コードで確認します:
コードをコピーします
Function checkIDCard(idcard) '-1 は正しい ID カード、そうでない場合は不正な ID カードです
Dim Y、JYM
Dim S、M
薄暗いエリア
エリア = "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: 関数終了
'ID 番号の桁数とフォーマットチェック
Case Len(idcard) を選択します
Case 15
If ((CInt(Mid(idcard, 7, 2)) 1900) Mod 4 = 0 または ((CInt(Mid(idcard, 7, 2)) 1900) Mod 100 = 0 And (CInt(Mid(idcard, 7, 2)) 1900) Mod 4 = 0)) 次に、
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
ケース 18
'//18 桁の ID 番号検出
'//生年月日の合法性チェック
If ((CInt(Mid ( idcard, 7, 2)) 1900) Mod 4 = 0 または ((CInt(Mid(idcard, 7, 2)) 1900) Mod 100 = 0 および (CInt(Mid(idcard, 7, 2)) 1900) Mod 4 = 0)) 次に、
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(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%>

PHP邮件检测:判断邮件是否已发送成功。在开发Web应用程序时,经常需要发送电子邮件来与用户进行沟通,无论是注册确认、密码重置还是发送通知,邮件功能都是不可或缺的一部分。但是,有时候我们无法确保邮件是否真正发送成功,因此我们需要进行邮件检测以及判断邮件是否已成功发送。本文将介绍如何使用PHP来实现这个功能。一、使用SMTP服务器发送邮件首先,我们需要使用SM

使用java的File.isDirectory()函数判断文件是否存在且为目录类型在Java编程中,经常会遇到需要判断一个文件是否存在且为目录类型的情况。Java提供了File类来操作文件和目录,其中的isDirectory()函数可以帮助我们判断一个文件是否是目录类型。File.isDirectory()函数是File类中的一个方法,其作用是判断当前Fil

使用Java的Character.isDigit()函数判断字符是否为数字字符在计算机内部以ASCII码的形式表示,每个字符都有一个对应的ASCII码。其中,数字字符0到9分别对应的ASCII码值为48到57。要判断一个字符是否为数字,可以使用Java中的Character类提供的isDigit()方法进行判断。isDigit()方法是Character类的

在数据处理的过程中,经常需要从文本中提取特定格式的信息。而身份证号码作为一种比较常见的个人信息,在数据处理中也经常被用到。使用Python正则表达式可以方便地提取身份证号码,并且还能对其进行一定的验证。身份证号码是由18位数字组成的,包含了身份证号码中的地区、出生年月日和校验码等信息。在Python中,我们可以使用re模块的正则表达式函数来提取身份证号码。首

身份证号码和护照号码是人们生活中常见的证件号码。在实现涉及到这些证件号码的功能时,经常需要对输入的号码进行格式验证,以确保其正确性。而在PHP中,使用正则表达式可以很好地实现这一功能,本文就介绍如何使用PHP正则表达式验证输入字符串是否为身份证号码或护照号码格式。一、身份证号码验证身份证号码是由18位数字和最后一位可能是字母(校验码)组成的,其格式如下:前6

如何使用Double类的isInfinite()方法判断一个数是否为无穷大在Java中,Double类是用来表示浮点数的包装类。该类提供了一系列方法,可以方便地对浮点数进行操作。其中,isInfinite()方法就是用来判断一个浮点数是否为无穷大的方法。无穷大是指大到超出了浮点数所能表示的范围的正无穷和负无穷。在计算机中,浮点数的最大值可以通过Double类

身份证号码是我们日常生活中经常用到的一种身份证明工具,而其中包含的生日信息也是非常重要的。在使用PHP进行身份证号码验证时,我们常常需要判断其生日信息是否正确。本文将介绍如何使用PHP正则表达式验证身份证号码的生日信息。1、身份证号码的基本格式身份证号码是由18位数字和字母组成的字符串,其中最后一位可能是数字或者字母,可能是大写或者小写。前17位是身份证的主

身份证、护照和港澳通行证号码都是重要的个人身份证明,为了保障个人信息安全,我们需要在系统中验证用户输入的证件号码是否符合规范格式。而PHP正则表达式是一个非常强大的工具,可以方便地实现这个目的。本文将介绍如何使用PHP正则表达式验证用户输入的身份证号码、护照号码和港澳通行证号码。一、身份证号码格式验证身份证号码是18位数字,在最后一位可能是数字或字母X。身份


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

Dreamweaver Mac版
ビジュアル Web 開発ツール

ホットトピック



