検索
ホームページウェブフロントエンドjsチュートリアルID 番号が正しいかどうかを判断するために JavaScript または ASP によって実装された 2 つの検証方法_JavaScript スキル

具体的なコードは次のとおりです:

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%>
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHP邮件检测:判断邮件是否已发送成功。PHP邮件检测:判断邮件是否已发送成功。Sep 19, 2023 am 09:16 AM

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

使用java的File.isDirectory()函数判断文件是否存在且为目录类型使用java的File.isDirectory()函数判断文件是否存在且为目录类型Jul 24, 2023 pm 06:57 PM

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

使用java的Character.isDigit()函数判断字符是否为数字使用java的Character.isDigit()函数判断字符是否为数字Jul 27, 2023 am 09:32 AM

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

如何使用Python正则表达式进行身份证号码提取如何使用Python正则表达式进行身份证号码提取Jun 22, 2023 am 10:35 AM

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

PHP正则表达式验证输入字符串是否为身份证号码或护照号码格式PHP正则表达式验证输入字符串是否为身份证号码或护照号码格式Jun 24, 2023 pm 12:11 PM

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

如何使用Double类的isInfinite()方法判断一个数是否为无穷大如何使用Double类的isInfinite()方法判断一个数是否为无穷大Jul 24, 2023 am 10:10 AM

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

PHP正则表达式验证身份证号码的生日信息PHP正则表达式验证身份证号码的生日信息Jun 24, 2023 pm 02:22 PM

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

如何用PHP正则表达式验证输入字符串是否为正确的身份证号码、护照号码或港澳通行证格式如何用PHP正则表达式验证输入字符串是否为正确的身份证号码、护照号码或港澳通行证格式Jun 24, 2023 am 10:36 AM

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

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

SublimeText3 英語版

SublimeText3 英語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール