ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript IDカード番号の有効性検証の詳しい説明とサンプルコード
最近では、ID カードの正当性を検証する必要はなくなりました。しかし、元の検証ルールは単に ID カードの長さを検証するだけです。 ID カードの検証ルールを強化します。インターネット上で多くの情報が見つかりましたが、どれも私の希望に一致しないため、独自のコードを使用して本人確認を行うしかありません。
ID番号を確認するためのJavaScript<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>身份证验证</title> <script type="text/javascript"> var arr2=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]; var arr3=[1,0,'X',9,8,7,6,5,4,3,2]; function checkid(){ var t=document.getElementById("gettext").value; if(t.length==18){ var arr=t.split(''); var s; var reg = /^\d+$/; var pd=0; for(i=0;i<17;i++){ if(reg.test(arr[i])){ s=true; pd=arr[i]*arr2[i]+pd; }else{ s=false; break; } } if(s=true){ var r=pd%11; if(arr[17]==arr3[r]){ document.getElementById("show").innerHTML="身份证号合法 尾号为:"+arr3[r]; }else{ document.getElementById("show").innerHTML="非合法身份证号"; } } }else{ document.getElementById("show").innerHTML="非合法身份证号"; } } </script> </head> <body > <input id="gettext" type="text" size="30" onkeyup="checkid()"> <p id="show"></p><br> </body> </html>ID番号のオンラインIDカードjsの計算式に基づいて書かれた本人確認ステップ1: ID番号の最初の桁を7倍します。 ID 番号の 2 桁目に 9 を掛けます。ID 番号の 4 桁目に 5 を掛けます。ID 番号の 6 桁目に 8 を掛けます。 ID 番号の 6 桁目に 4 を掛けます。ID 番号の 8 桁目に 1 を掛けます。 ID 番号の 11 桁に 7 を掛け、ID 番号の 13 桁に 10 を掛けます。 ID 番号の 15 桁に 8 を掛け、ID 番号の 17 桁に 2 を掛けます。 ステップ 2: 最初のステップで ID 番号の 1 ~ 17 桁を乗算した結果を合計し、それらをすべて合計します。 ステップ 3: 2 番目のステップで計算した結果を 11 で割って、余りが 0、余りが 1、余りが 2、余りが 3、余りが 4、余りが 5、余りがは 6、余りは 7、余りは 8、余りは 9、余りは 10、合計 11 の可能性があります。 ステップ 4: 余りが 0 の場合、最後の ID カードの対応する番号は 1、余りが 1 の場合、最後の ID カードの対応する番号は 0、残りが 2 の場合、最後の ID カードの対応する番号は 0 になります。番号 最後の ID カードの番号は X、余りが 3 の場合、最後の ID カードの対応する番号は 9、余りが 5 の場合、最後の ID カードの対応する番号は 8 です。 、最後の ID カードの対応する番号は 7、残りが 6 の場合、最後の ID カードの対応する番号は 6、残りが 7 の場合、最後の ID カードの対応する番号は 5 です。余りが 8 の場合、最後の ID カードの番号は 4、余りが 9 の場合、最後の ID カードの番号は 3、余りが 10 の場合、最後の ID カードの番号は 3 です。は 3 数値は 2 です。