<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Welcome CheckID System</title>
<style type="text/css">
.st1{
color:blue;
}
.st2{
color: orangered;
}
.st3{
color: magenta;
}
</style>
</head>
<body>
<div align="center">
<form action="" methed="get">
<h1 class="st1">请输入您的身份证号:</h1>
<br>
<h2 class="st2">Please enter your ID number</h2>
<br>
<h4 class="st3">注:我们会运用<a href="https://www.98158.com/bjhuzheng/shenfenzheng/737.html"> 国家身份证ID算法</a>对您的身份ID进行核查</h4>
<h5 class="st3">详情参考-><a href="http://www.npc.gov.cn/npc/c12435/201110/6a4ca1c55fbe4ef58927ea6180305b15.shtml ">《中华人民共和国居民身份证法》</a></h5>
<br>
<input id="id" name="id" type="text" style="width: 200px; height: 75px;" size="10" required onchange="this.form.submit();"/>
<br><br><br><br>
<%
request.setCharacterEncoding("UTF-8");//识别汉字等
String ID = request.getParameter("id");//输入
if(ID!=null) {
int flag = 0;
int[] c= new int[18];
if(ID.length()==18){
String a1 = ID.substring(0,1);
int b1;
b1 = a1.charAt(0)-48;
if(b1>9)
{
flag=1;
c[1]=1;
}
String a2 = ID.substring(1,2);
int b2;
b2 = a2.charAt(0)-48;
if(b2>9)
{
flag=1;
c[2]=2;
}
String a3 = ID.substring(2,3);
int b3;
b3 = a3.charAt(0)-48;
if(b3>9)
{
flag=1;
c[3]=3;
}
String a4 = ID.substring(3,4);
int b4;
b4 = a4.charAt(0)-48;
if(b4>9)
{
flag=1;
c[4]=4;
}
String a5 = ID.substring(4,5);
int b5;
b5 = a5.charAt(0)-48;
if(b5>9)
{
flag=1;
c[5]=5;
}
String a6 = ID.substring(5,6);
int b6;
b6 = a6.charAt(0)-48;
if(b6>9)
{
flag=1;
c[6]=6;
}
String a7 = ID.substring(6,7);
int b7;
b7 = a7.charAt(0)-48;
if(b7>9)
{
flag=1;
c[7]=7;
}
String a8 = ID.substring(7,8);
int b8;
b8 = a8.charAt(0)-48;
if(b8>9)
{
flag=1;
c[8]=8;
}
String a9 = ID.substring(8,9);
int b9;
b9 = a9.charAt(0)-48;
if(b9>9)
{
flag=1;
c[9]=9;
}
String a10 = ID.substring(9,10);
int b10;
b10 = a10.charAt(0)-48;
if(b10>9)
{
flag=1;
c[10]=10;
}
String a11 = ID.substring(10,11);
int b11;
b11 = a11.charAt(0)-48;
if(b11>9)
{
flag=1;
c[11]=11;
}
String a12 = ID.substring(11,12);
int b12;
b12 = a12.charAt(0)-48;
if(b12>9)
{
flag=1;
c[12]=12;
}
String a13 = ID.substring(12,13);
int b13;
b13 = a13.charAt(0)-48;
if(b13>9)
{
flag=1;
c[13]=13;
}
String a14 = ID.substring(13,14);
int b14;
b14 = a14.charAt(0)-48;
if(b14>9)
{
flag=1;
c[14]=14;
}
String a15 = ID.substring(14,15);
int b15;
b15 = a15.charAt(0)-48;
if(b15>9)
{
flag=1;
c[15]=15;
}
String a16 = ID.substring(15,16);
int b16;
b16 = a16.charAt(0)-48;
if(b16>9)
{
flag=1;
c[16]=16;
}
String a17 = ID.substring(16,17);
int b17;
b17 = a17.charAt(0)-48;
if(b17>9)
{
flag=1;
c[17]=17;
}
String a18 = ID.substring(17,18);
int b18;
b18 = a18.charAt(0)-48;
int sum=b1*7+b2*9+b3*10+b4*5+b5*8+b6*4+b7*2+b8*1+b9*6+b10*3+b11*7+b12*9+b13*10+b14*5+b15*8+b16*4+b17*2;
int check = sum % 11;
int check1,check2;
if(check==0)
{
check1=1;
if(b18==check1)
{
out.print("您输入的是正确的身份证号");
}
else
{
out.print("您输入的身份证号错误!");
}
}
else if(check==1)
{
check1=0;
if(b18==check1)
{
out.print("您输入的是正确的身份证号");
}
else
{
out.print("您输入的身份证号错误!");
}
}
else if(check==2)
{
check1=40;
check2=72;
if(b18==check1 || b18==check2)
{
out.print("您输入的是正确的身份证号");
}
else
{
out.print("您输入的身份证号错误!");
}
}
else if(check>2)
{
int check3=1;
for(int i=3,j=9;i<=10;i++,j--)
{
if(check==i)
{
check1=j;
if(b18==check1&&flag==0)
{
out.print("您输入的是正确的身份证号");
check3=0;
}
}
}
if(check3==1&&flag==0)
{
out.print("您输入的身份证号错误!");
}
else if(flag==1) {
out.print("您输入的身份证号不合法!");
for (int i = 1; i <= 17; i++) {
if(c[i]!=0){
out.print("-----且不合法的位数是:第"+c[i]+"位!");
}}
}
}
}
else {
out.print("身份证号位数有问题");
}
}
%>
</form>
<br>
<br>
</div>
</body>
</html>