栏目导航
热点推荐
- 使用JS进行目录上传(相当于批量
- 推荐学习:精通JS正则表达式
- js创建对象的几种常用方式小结(
- jQuery技巧总结
- 10个JavaScript小技巧
- 非常全面的实用JavaScript开发工
- 网站统计之javascript代码加载优
- JS实现广告顺序轮播和随机轮播四
- 使用javascript让页面自适应
- 24小时退弹一次的代码,可弹SP2S
- (Tips&Tricks;)用客户端模板精简J
- js教程:JavaScript作用域(Scope)
阅览排行
大陆居民身份证真伪校验
www.jz123.cn 2013-12-06 来源: 站长家园 责任编辑(袁袁) 我要投递新闻
var IdCardValid = {//身份证检查isIdCard : function(_id) {var returnObj = new Object();var id = $.trim(_id.toUpperCase());var idArray = this._splitId(id);if (idArray.length > 0) ...
001.
var
IdCardValid = {
//身份证检查
002.
isIdCard :
function
(_id) {
003.
var
returnObj =
new
Object();
004.
var
id = $.trim(_id.toUpperCase());
005.
var
idArray =
this
._splitId(id);
006.
007.
if
(idArray.length > 0) {
008.
if
(id.length != 18) {
009.
returnObj.status =
false
;
010.
returnObj.info =
" 身份证号码必须是18位"
;
011.
012.
return
returnObj;
013.
}
014.
015.
var
checksum = id.substring(17, 18);
016.
var
sum = 0;
017.
018.
for
(
var
i = 1; i <= idArray.length; i++) {
019.
var
Ai = idArray[i - 1];
020.
var
Wi =
this
._getWeightingFactor(i);
021.
022.
if
(Wi != -1) {
023.
sum += Ai * Wi;
024.
}
025.
}
026.
027.
var
mod = sum % 11;
028.
029.
if
(
this
._getChecksum(mod) == checksum) {
030.
returnObj.status =
true
;
031.
032.
return
returnObj;
033.
}
else
{
034.
returnObj.status =
false
;
035.
returnObj.info =
" 身份证号码输入错误"
;
036.
037.
return
returnObj;
038.
}
039.
}
else
{
040.
returnObj.status =
false
;
041.
returnObj.info =
" 身份证号码格式错误"
;
042.
043.
return
returnObj;
044.
}
045.
},
046.
047.
_splitId :
function
(_id) {
048.
var
len = _id.length;
049.
var
array =
new
Array();
050.
051.
for
(
var
i = 0; i < len - 1; i++) {
052.
array.push(_id.charAt(i));
053.
}
054.
055.
return
array;
056.
},
057.
058.
_getWeightingFactor :
function
(_index) {
059.
switch
(_index) {
060.
case
1:
061.
return
7;
062.
case
2:
063.
return
9;
064.
case
3:
065.
return
10;
066.
case
4:
067.
return
5;
068.
case
5:
069.
return
8;
070.
case
6:
071.
return
4;
072.
case
7:
073.
return
2;
074.
case
8:
075.
return
1;
076.
case
9:
077.
return
6;
078.
case
10:
079.
return
3;
080.
case
11:
081.
return
7;
082.
case
12:
083.
return
9;
084.
case
13:
085.
return
10;
086.
case
14:
087.
return
5;
088.
case
15:
089.
return
8;
090.
case
16:
091.
return
4;
092.
case
17:
093.
return
2;
094.
default
:
095.
return
-1;
096.
}
097.
},
098.
_getChecksum :
function
(_mod) {
099.
switch
(_mod) {
100.
case
0:
101.
return
1;
102.
case
1:
103.
return
0;
104.
case
2:
105.
return
"X"
;
106.
case
3:
107.
return
9;
108.
case
4:
109.
return
8;
110.
case
5:
111.
return
7;
112.
case
6:
113.
return
6;
114.
case
7:
115.
return
5;
116.
case
8:
117.
return
4;
118.
case
9:
119.
return
3;
120.
case
10:
121.
return
2;
122.
default
:
123.
return
-1;
124.
}
125.
}
126.
};
1
上一篇:Javascript取随机颜色函数 下一篇:JavaScript的作用域与闭包