<script type=
"text/javascript"
>
function
isChinaIDCard(StrNo) {
StrNo = StrNo.toString()
if
(StrNo.length == 18) {
var
a, b, c
if
(!isInteger(StrNo.substr(0, 17))) {
return
false
}
a = parseInt(StrNo.substr(0, 1)) * 7 + parseInt(StrNo.substr(1, 1)) * 9 + parseInt(StrNo.substr(2, 1)) * 10;
a = a + parseInt(StrNo.substr(3, 1)) * 5 + parseInt(StrNo.substr(4, 1)) * 8 + parseInt(StrNo.substr(5, 1)) * 4;
a = a + parseInt(StrNo.substr(6, 1)) * 2 + parseInt(StrNo.substr(7, 1)) * 1 + parseInt(StrNo.substr(8, 1)) * 6;
a = a + parseInt(StrNo.substr(9, 1)) * 3 + parseInt(StrNo.substr(10, 1)) * 7 + parseInt(StrNo.substr(11, 1)) * 9;
a = a + parseInt(StrNo.substr(12, 1)) * 10 + parseInt(StrNo.substr(13, 1)) * 5 + parseInt(StrNo.substr(14, 1)) * 8;
a = a + parseInt(StrNo.substr(15, 1)) * 4 + parseInt(StrNo.substr(16, 1)) * 2;
b = a % 11;
if
(b == 2)
{
c = StrNo.substr(17, 1).toUpperCase();
}
else
{
c = parseInt(StrNo.substr(17, 1));
}
switch
(b) {
case
0:
if
(c != 1) { alert(
"身份证好号码校验位错:最后一位应该为:1"
);
return
false
; }
break
;
case
1:
if
(c != 0) { alert(
"身份证好号码校验位错:最后一位应该为:0"
);
return
false
; }
break
;
case
2:
if
(c !=
"X"
) { alert(
"身份证好号码校验位错:最后一位应该为:X"
);
return
false
; }
break
;
case
3:
if
(c != 9) { alert(
"身份证好号码校验位错:最后一位应该为:9"
);
return
false
; }
break
;
case
4:
if
(c != 8) { alert(
"身份证好号码校验位错:最后一位应该为:8"
);
return
false
; }
break
;
case
5:
if
(c != 7) { alert(
"身份证好号码校验位错:最后一位应该为:7"
);
return
false
; }
break
;
case
6:
if
(c != 6) { alert(
"身份证好号码校验位错:最后一位应该为:6"
);
return
false
; }
break
;
case
7:
if
(c != 5) { alert(
"身份证好号码校验位错:最后一位应该为:5"
);
return
false
; }
break
;
case
8:
if
(c != 4) { alert(
"身份证好号码校验位错:最后一位应该为:4"
);
return
false
; }
break
;
case
9:
if
(c != 3) { alert(
"身份证好号码校验位错:最后一位应该为:3"
);
return
false
; }
break
;
case
10:
if
(c != 2) { alert(
"身份证好号码校验位错:最后一位应该为:2"
);
return
false
}
}
}
else
{
if
(!isInteger(StrNo)) { alert(
"身份证号码错误,前15位不能含有英文字母!"
);
return
false
}
}
switch
(StrNo.length) {
case
15:
return
true
;
case
18:
return
true
;
}
alert(
"输入的身份证号码必须为15位或者18位!"
);
return
false
;
}
</script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决