최근에는 신분증의 적법성 확인이 필요합니다. 하지만 기존의 확인 규칙은 너무 단순하여 이제는 신분증의 길이만 확인합니다. 온라인에서 찾을 수 있는 신분증 인증 규칙을 강화해야 합니다. 많은 정보를 읽었지만 그 중 아무것도 마음에 들지 않아서 직접 작성할 수밖에 없었습니다
주민등록번호 확인을 위한 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>인터넷상의 신분증 계산식을 바탕으로 작성된 주민등록번호를 확인하는 js 1단계: ID 번호의 첫 번째 숫자에 7을 곱하고, ID 번호의 두 번째 숫자에 9를 곱합니다. 5를 곱합니다. ID 번호의 6번째 숫자에 4를 곱합니다. ID 번호의 8번째 숫자에 1을 곱합니다. ID 번호 ID 번호의 9번째 자리에 6을 곱하고, ID 번호의 11번째 자리에 7을 곱합니다. ID 번호의 14번째 자리에 5를 곱합니다. ID 번호의 15번째 자리에 8을 곱합니다. ID번호 17번째 자리에 2를 곱하세요. 2단계: 첫 번째 단계에서 주민등록번호 1~17자리를 곱한 결과를 합산합니다. 3단계: 두 번째 단계에서 계산한 결과를 11로 나누어 나머지가 0, 나머지가 1, 나머지가 2, 나머지가 3, 나머지가 4, 나머지가 이다. 5, 나머지는 6, 나머지는 7, 나머지는 8, 나머지는 9, 나머지는 10, 총 11 가지 가능성이 있습니다. 4단계: 나머지가 0이면 마지막 ID 카드의 해당 번호는 1이고, 나머지가 1이면 해당 마지막 ID 카드의 번호는 0입니다. 마지막 ID 카드의 해당 번호는 X입니다. 나머지가 3이면 해당 마지막 ID 카드의 번호는 9입니다. 나머지가 4이면 해당 마지막 ID 카드의 번호는 8입니다. 마지막 ID 카드의 해당 번호는 7입니다. 나머지가 6이면 해당 마지막 ID 카드의 번호는 6입니다. 나머지가 7이면 해당 마지막 ID 카드의 번호는 7입니다. 5, 나머지가 8이면 마지막 ID 카드의 해당 번호는 4이고, 나머지가 9이면 마지막 ID 카드의 해당 번호는 3입니다. 마지막 신분증은 3번입니다. 신분증 번호는 2번입니다.