`
- 浏览:
114856 次
- 来自:
...
-
http://www.blogjava.net/supercrsky/articles/222217
/**/
/*
验证身份证的完整函数(限中国)
*/
function
checkIdcard(idcard)
{
var
Errors
=
new
Array(
"
验证通过!
"
,
"
身份证号码位数不对!
"
,
"
身份证号码出生*期超出范围或含有非法字符!
"
,
"
身份证号码校验错误!
"
,
"
身份证地区非法!
"
);
var
area
=
{
11
:
"
北京
"
,
12
:
"
天津
"
,
13
:
"
河北
"
,
14
:
"
山西
"
,
15
:
"
内蒙古
"
,
21
:
"
辽宁
"
,
22
:
"
吉林
"
,
23
:
"
黑龙江
"
,
31
:
"
上海
"
,
32
:
"
江苏
"
,
33
:
"
浙江
"
,
34
:
"
安徽
"
,
35
:
"
福建
"
,
36
:
"
江西
"
,
37
:
"
山东
"
,
41
:
"
河南
"
,
42
:
"
湖北
"
,
43
:
"
湖南
"
,
44
:
"
广东
"
,
45
:
"
广西
"
,
46
:
"
海南
"
,
50
:
"
重庆
"
,
51
:
"
四川
"
,
52
:
"
贵州
"
,
53
:
"
云南
"
,
54
:
"
西藏
"
,
61
:
"
陕西
"
,
62
:
"
甘肃
"
,
63
:
"
青海
"
,
64
:
"
宁夏
"
,
65
:
"
新疆
"
,
71
:
"
台湾
"
,
81
:
"
香港
"
,
82
:
"
澳门
"
,
91
:
"
国外
"
}
var
idcard,Y,JYM;
var
S,M;
var
idcard_array
=
new
Array();
idcard_array
=
idcard.split(
""
);
//
地区检验
if
(area[parseInt(idcard.substr(
0
,
2
))]
==
null
)
return
Errors[
4
];
//
身份号码位数及格式检验
switch
(idcard.length)
{
case
15
:
if
( (parseInt(idcard.substr(
6
,
2
))
+
1900
)
%
4
==
0
||
((parseInt(idcard.substr(
6
,
2
))
+
1900
)
%
100
==
0
&&
(parseInt(idcard.substr(
6
,
2
))
+
1900
)
%
4
==
0
))
{
ereg
=/^
[
1
-
9
][
0
-
9
][
0
-
9
]((
01
|
03
|
05
|
07
|
08
|
10
|
12
)(
0
[
1
-
9
]
|
[
1
-
2
][
0
-
9
]
|
3
[
0
-
1
])
|
(
04
|
06
|
09
|
11
)(
0
[
1
-
9
]
|
[
1
-
2
][
0
-
9
]
|
30
)
|
02
(
0
[
1
-
9
]
|
[
1
-
2
][
0
-
9
]))[
0
-
9
]$
/
;
//
测试出生*期的合法性
}
else
{
ereg
=/^
[
1
-
9
][
0
-
9
][
0
-
9
]((
01
|
03
|
05
|
07
|
08
|
10
|
12
)(
0
[
1
-
9
]
|
[
1
-
2
][
0
-
9
]
|
3
[
0
-
1
])
|
(
04
|
06
|
09
|
11
)(
0
[
1
-
9
]
|
[
1
-
2
][
0
-
9
]
|
30
)
|
02
(
0
[
1
-
9
]
|
1
[
0
-
9
]
|
2
[
0
-
8
]))[
0
-
9
]$
/
;
//
测试出生*期的合法性
}
if
(ereg.test(idcard))
return
Errors[
0
];
else
return
Errors[
2
];
break
;
case
18
:
//
18位身份号码检测
//
出生*期的合法性检查
//
闰年月*:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
//
平年月*:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
if
( parseInt(idcard.substr(
6
,
4
))
%
4
==
0
||
(parseInt(idcard.substr(
6
,
4
))
%
100
==
0
&&
parseInt(idcard.substr(
6
,
4
))
%
4
==
0
))
{
ereg
=/^
[
1
-
9
][
0
-
9
]
19
[
0
-
9
]((
01
|
03
|
05
|
07
|
08
|
10
|
12
)(
0
[
1
-
9
]
|
[
1
-
2
][
0
-
9
]
|
3
[
0
-
1
])
|
(
04
|
06
|
09
|
11
)(
0
[
1
-
9
]
|
[
1
-
2
][
0
-
9
]
|
30
)
|
02
(
0
[
1
-
9
]
|
[
1
-
2
][
0
-
9
]))[
0
-
9
][
0
-
9Xx]$
/
;
//
闰年出生*期的合法性正则表达式
}
else
{
ereg
=/^
[
1
-
9
][
0
-
9
]
19
[
0
-
9
]((
01
|
03
|
05
|
07
|
08
|
10
|
12
)(
0
[
1
-
9
]
|
[
1
-
2
][
0
-
9
]
|
3
[
0
-
1
])
|
(
04
|
06
|
09
|
11
)(
0
[
1
-
9
]
|
[
1
-
2
][
0
-
9
]
|
30
)
|
02
(
0
[
1
-
9
]
|
1
[
0
-
9
]
|
2
[
0
-
8
]))[
0
-
9
][
0
-
9Xx]$
/
;
//
平年出生*期的合法性正则表达式
}
if
(ereg.test(idcard))
{
//
测试出生*期的合法性
//
计算校验位
S
=
(parseInt(idcard_array[
0
])
+
parseInt(idcard_array[
10
]))
*
7
+
(parseInt(idcard_array[
1
])
+
parseInt(idcard_array[
11
]))
*
9
+
(parseInt(idcard_array[
2
])
+
parseInt(idcard_array[
12
]))
*
10
+
(parseInt(idcard_array[
3
])
+
parseInt(idcard_array[
13
]))
*
5
+
(parseInt(idcard_array[
4
])
+
parseInt(idcard_array[
14
]))
*
8
+
(parseInt(idcard_array[
5
])
+
parseInt(idcard_array[
15
]))
*
4
+
(parseInt(idcard_array[
6
])
+
parseInt(idcard_array[
16
]))
*
2
+
parseInt(idcard_array[
7
])
*
1
+
parseInt(idcard_array[
8
])
*
6
+
parseInt(idcard_array[
9
])
*
3
;
Y
=
S
%
11
;
M
=
"
F
"
;
JYM
=
"
10X98765432
"
;
M
=
JYM.substr(Y,
1
);
//
判断校验位
if
(M
==
idcard_array[
17
])
return
Errors[
0
];
//
检测ID的校验位
else
return
Errors[
3
];
}
else
return
Errors[
2
];
break
;
default
:
return
Errors[
1
];
break
;
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
接着,我们定义安全拦截器,例如`ChannelProcessingFilter`用于HTTP和HTTPS之间的切换,以及`SecurityContextHolderAwareRequestFilter`用于处理Spring MVC请求。 然后,我们需要定义访问控制策略。Acegi支持基于...
0x000000&bcastr_flie=1.jpg|2.jpg|3.jpg|4.jpg|5.jpg&bcastr_link=http://www.baidu.com|http://www.google.com|http://www.sina.com.cn|http://bbs.crsky.com|http://www.blogjava.net/supercrsky&bcastr_title=...
- [http://www.blogjava.net/wangxinsh55/archive/2006/04/27/43535.html](http://www.blogjava.net/wangxinsh55/archive/2006/04/27/43535.html) - **知识点**:Git是一款非常流行的分布式版本控制系统,广泛应用...
4. **Killme2008的博客**:`http://www.blogjava.net/killme2008/archive/2008/06/05/206043.html` - 深入解析了Hadoop的架构设计和关键点。 5. **CSDN博客** - `...
与标题一致的描叙,你值得拥有,确实很值。来赚分啦。 参考下面大侠而来 http://blog.csdn.net/xutaozero21/article/details/4873439 ...http://www.blogjava.net/lizongbo/archive/2006/12/04/85433.html
Compass是一个强大的,事务的,高性能的对象/搜索引擎映射(OSEM:object/search engine mapping)与一个Java持久层框架.内容包括compass的jar包及从网上搜集的相关学习资料. 附两个不错的资料地址: ...
1.webservieces 示例工程源码 里面有两个...http://www.blogjava.net/RongHao/archive/2007/06/12/123638.html(axis1) http://wenku.baidu.com/view/1d9b3d2ecfc789eb172dc8a5.html(axis2) 5.欢迎大家踊跃下载分享传播
第二种是用Apache组织的commons项目中的FileUpload组件,参考资料http://www.blogjava.net/lushengdi/archive/2009/01/09/227063.html。 今天介绍第二种方案中的文件上传,文件下载功能则可细想而知。 第二种方案中...
3. **TiGERTiAN博客(http://www.blogjava.net/TiGERTiAN/archive/2010/02/03/311827.html)**:专注于Java和Android技术的深度解析。 4. **CSDN博客...
Swing 程序 软件声明 ========== 本软件为免费开源软件!仅供学习研究使用,未供许可请不要作用于任何商业目的!欢迎学习交流!...Blog: http://www.blogjava.net/huliqing/ home: http://www.tbuy.biz/
//wiki.javascud.org/display/ww2cndoc/Valida<br>tion 网站上收集的一些关于有关Struts2验证框架的资料,并将其做成电子书以方便查看,另外向朋友们推荐一个很好的学习Struts2的博客http://www.blogjava.net/max,...
1. JVM 启动参数大全:http://www.blogjava.net/midstr/archive/2008/09/21/230265.html 2. JVM 结构的一些知识:http://hllvm.group.iteye.com/group/wiki/2905-JVM 3. JVM 堆知识:...
JavaDOCHelper Viewer 提供了在一个界面里查看、搜索众多组件的HTML格式JAVA DOC api文档,类似于chm格式。 软件界面:http://www.blogjava.net/Unmi/archive/2007/10/08/150946.html
Python 使用 PIL 库读取图片的像素值 本文主要介绍了如何使用 Python 的 PIL 库读取图片的像素值,以便在游戏开发中删除不需要的...* PIL 库教程:<http://www.blogjava.net/Skynet/archive/2009/11/28/303986.html>
亲爱的读者, 当您掌握了本书的内容后, 应立即掌握以Google来阅读文章提高自己能力的自学之路, 并加入到企业投入到真正企业项目的锻炼中去, ...链接:http://www.blogjava.net/beansoft/archive/2010/09/09/331571.html
如果希望处理xml的话,需要使用一个开源的库:libxml2 最开始应该根据本机的环境生成...对了,依附的代码摘自:http://www.blogjava.net/wxb_nudt/archive/2007/11/18/161340.html 很不错的一篇文章,在此表示感谢了!
网上一个经典的owl-s例子其www.bs-byg.dk/hashclass.wsdl不能用了,故又找了一个globalweather服务...不过还是能模仿 用protege插件编辑OWL-S的实例 - 勇敢的心 - BlogJava.jpg 的例子,做出来的,供学习用。
这一段时间在研究Javadoc的问题,前面发布的Javadoc转换chm帮助文档的四种方法总结,总结了如何实现Javadoc到chm的转换,希望给大家带来了一些方便,今天...本人博客:http://www.blogjava.net/lishunli/,希望大家支持
- **链接**:http://www.blogjava.net/feilongone/articles/72596.html - **简介**:本文作者分享了自己在实际项目中运用Flex的一些经验和技巧,如性能优化策略、调试方法等。 - **特点**:更侧重于实践经验总结...
http://www.blogjava.net/max/archive/2006/10/10/74353.html 为Struts 2.0做好准备 Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的...