- 浏览: 268385 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (187)
- spring (10)
- jquery (14)
- js (18)
- java (44)
- freemarker (7)
- 框架介绍 (1)
- tomcat (4)
- oracle (7)
- 喜欢的诗文 (4)
- linux (19)
- nokia (1)
- 那些事 (1)
- apache (3)
- dom4j (1)
- SOA (1)
- 企业架构 (2)
- baidu (1)
- svn (1)
- 测试 (4)
- liunx (0)
- memcahce (1)
- mysql (25)
- maven (4)
- 推广 (1)
- 网络 (1)
- vpn (1)
- drools (1)
- mongodb (1)
- redis (3)
- xlightweb (1)
- wifi (1)
- 学习资料 (1)
- git (1)
- 系统设计 (1)
- springboot (1)
- 自考 (0)
最新评论
-
zuo_qin_bo:
if(df==null){ //这个地方并发多的情况 ...
ThreadLocal解决dateFormat多线程错误 -
kongnan93:
好文!赞一个!!!!
jquery blockUI 居中显示 -
cxc_110928:
如果加上不能出现连续的数字或者字母 如 1234 abcd ...
用java 匹配一个数字和字母密码的正则表达式 -
wzwahl36:
http://www.atool.org/json2javab ...
JSON和JAVA的POJO的相互转换
/**
* 身份证号码验证规则
* @param idcard 用于输入的身份证号码
* @returns
* err-0:验证通过
* err-1:身份证号码位数不对
* err-2:身份证号码出生日期超出范围或者含有非法字符
* err-3:身份证号码校验错误
* err-4:身份证地区非法
*/
function id_rule(idcard) {
var Errors = new Array(true, false, false, false, false);
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]{5}[0-9]{2}((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]{3}$/;//测试出生日期的合法性
} else {
ereg = /^[1-9][0-9]{5}[0-9]{2}((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]{3}$/;//测试出生日期的合法性
}
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]{5}(19|20)[0-9]{2}((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]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式
} else {
ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((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]{3}[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 true; //检测ID的校验位
}
else {
return false;
}
} else {
return false;
}
break;
default:
return false;
break;
}
}
发表评论
-
js 加密 java解密
2017-12-05 16:27 906https://github.com/noisyle/cr ... -
记录一些js框架用途
2016-09-21 11:07 722accounting.min.js 货币格式化alertif ... -
打印指定区域内容
2013-02-04 16:22 852function print(){ var oWin=w ... -
查找子符串在主字符串中出现的次数
2012-12-19 14:14 1086/** * 查找子符串在主字符串中出现的次数 */ ... -
四位加空格
2012-08-30 16:38 1015onkeyup="this.value=this.v ... -
关闭浏览器时,清除SESSION 只适应于IE
2012-07-02 10:08 1418//关闭浏览器时,清除SESSION 只适应于IE func ... -
定位显示
2012-07-02 09:26 920//将帐号格式化显示 四位分开 value要格式化的值 ... -
导步加载,在页面中执行js
2012-06-28 17:12 903在加载出数据后 先执行下面方法,就要以在页面执行js ... -
在html中获取url参数
2012-06-12 16:03 1145例如<!-- [if gte mso 9]>< ... -
验证非连续不重复的数字
2012-05-30 15:39 963// 验证非连续不重复的数字 function valida ... -
手机号码部分隐藏
2012-05-29 14:04 1077/** * 手机号码部分隐藏 */ function ... -
验证中文姓名
2012-05-29 13:54 1034/** * 客户真实姓名 * @param obj ... -
js 去除html 空格标记
2012-05-24 01:06 1260/** * 去除html标记和空格 */ funct ... -
js获取url参数
2012-05-24 01:03 913function getGetParameter(source ... -
金钱大小写转换
2012-05-22 13:03 3585function money_uppercase(value) ... -
获取验证码时,倒记时
2012-05-21 11:39 1055var InterValObj; //timer变量,控制时间 ... -
get 传递中文参数 编码
2012-05-17 16:15 1129//js对中文编码 var bankName=encodeUR ...
相关推荐
综上所述,这个身份证验证程序利用HTML和JavaScript技术实现了对用户输入的身份证号码的有效性检查,提供了良好的用户体验,并遵循了中国身份证号码的验证规则。对于前端开发人员来说,理解和掌握这些技术是至关重要...
JAVA身份证号码验证工具,通过身份证号码生成规则,能验证15位、18位身份证号码,必备验证方式
在C++编程中,身份证号码验证是一个常见的任务,主要用于确保用户输入的身份信息是合法的。...同时,这个项目也让我们理解了身份证号码的结构和验证规则,对于理解实际应用中的数据验证有很好的实践意义。
在这里,你可以找到处理身份证验证逻辑的代码,比如使用正则表达式检查身份证号码的格式,或者调用特定的服务或API来验证身份证号码的真实性。 `from.gif`可能是一个图形文件,可能是表单中的一个图标或者指示性的...
身份证号码是由18位数字组成的,包含个人的出生日期、性别、地区等信息,并且具有特定的校验规则。本篇文章将深入讲解如何使用Java编写身份证号验证的源代码。 首先,了解身份证号码的基本结构。中国的身份证号码前...
身份证号码查询,只需要输入前面六位,就能查询身份证所在地,不错的东西哦。
### 使用Java正则表达式实现一个简单的身份证号码验证 #### 一、背景介绍 身份证号码是中国公民的身份标识,由15位或18位数字组成(早期为15位,后改为18位)。其中,第18位是校验码,可能是数字0~9或者大写字母X。...
身份证号码验证是IT行业中常见的需求,特别是在涉及到...通过深入理解身份证号码的结构和校验规则,结合正则表达式的强大功能,我们可以创建出更健壮的验证系统。对于学习和实际项目开发来说,这是一个有价值的参考。
#### 15位身份证号码验证规则: - 前六位代表地区编码。 - 接下来的六位表示出生日期(YYMMDD)。 - 最后的三位是顺序号。 - 没有校验码。 #### 18位身份证号码验证规则: - 前六位同样代表地区编码。 - 第七到第十...
3. .NET框架提供的`System.ComponentModel.DataAnnotations`命名空间中的`RegularExpressionAttribute`,可以方便地在属性上声明验证规则,例如在MVC或Entity Framework中使用。 4. **异常处理**: 在验证过程中,...
你可以使用这些数据来测试你的身份证验证程序,确保其能准确识别有效的身份证号码。 开发这样的验证程序需要掌握基本的编程知识,如变量、条件语句、循环和数组等。常见的编程语言如Python、Java、C#等都可以实现。...
身份证规则验证 错1个数字都不行 /** * 身份证15位编码规则:dddddd yymmdd xx p * dddddd:地区码 * yymmdd: 出生年月日 * xx: 顺序类编码,无法确定 * p: 性别,奇数为男,偶数为女 * <p /> * ...
针对身份证号码的校验,以及能自动将身份证从15位升级为18位
通过分析和理解这个身份证验证示例源码,开发者可以学习到如何在 ASP.NET 中进行数据验证、用户输入处理以及错误处理等重要技能,这对于构建更安全、更可靠的Web应用至关重要。同时,这也可以作为一个基础,进一步...
这里`selectedId`可能是用于区分不同类型的验证规则,但具体用途没有给出,我们主要关注身份证号码的验证逻辑。 对于18位的身份证号码,其验证过程包括以下几个步骤: 1. 定义一个权重数组`w`,这是身份证号码校验...
总结来说,Java验证身份证号码校验码是否正确的关键是理解身份证号码的构成规则和校验码的计算方法,然后编写相应的代码进行逻辑判断。通过上述方法,我们可以在Java程序中实现对身份证号码的准确验证,确保处理个人...
在IT行业中,身份证验证器是一种常见的实用工具,主要用于验证个人身份证号码的合法性,并根据有效身份证号码解析出对应的身份信息,如出生日期、性别以及户籍所在地等。本项目以C#编程语言实现,提供了用户友好的...
- 由于缺乏有效的行政区域编码规则,以上规则可能无法完全过滤所有非法身份证号码。 - 在需要用户提供身份证号码的情况下,应明确告知用户对其提供的信息负责,并承担相应的法律责任。 #### 四、总结 通过上述...