- 浏览: 259542 次
- 性别:
- 来自: 北京
最新评论
-
haixin3036:
jQuery是一套跨浏览器的JavaScript库,简化HTM ...
jquery sizzle 选择器浅析 -
panshunchang:
非常感谢分享,正找这东西呢。
基于jQuery的QQ表情插件 -
yuur369:
不错。。。
移动端webapp开发必备知识
<head>
<title>身份证号码验证</title>
<script type=”text/javascript”>
var vcity={ 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:”国外”
};
checktheform = function()
{
var card = document.getElementById(‘card_no’).value;
//是否为空
if(card === ”)
{
alert(‘请输入身份证号,身份证号不能为空’);
document.getElementById(‘card_no’).focus;
return false;
}
//校验长度,类型
if(isCardNo(card) === false)
{
alert(‘您输入的身份证号码不正确,请重新输入’);
document.getElementById(‘card_no’).focus;
return false;
}
//检查省份
if(checkProvince(card) === false)
{
alert(‘您输入的身份证号码不正确,请重新输入’);
document.getElementById(‘card_no’).focus;
return false;
}
//校验生日
if(checkBirthday(card) === false)
{
alert(‘您输入的身份证号码生日不正确,请重新输入’);
document.getElementById(‘card_no’).focus();
return false;
}
//检验位的检测
if(checkParity(card) === false)
{
alert(‘您的身份证校验位不正确,请重新输入’);
document.getElementById(‘card_no’).focus();
return false;
}
alert(‘OK’);
return true;
};//检查号码是否符合规范,包括长度,类型
isCardNo = function(card)
{
//身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为
数字或字符X
var reg = /(^\d{15}$)|(^\d{17}(\d|X)$)/;
if(reg.test(card) === false)
{
return false;
}
return true;
};
//取身份证前两位,校验省份
checkProvince = function(card)
{
var province = card.substr(0,2);
if(vcity[province] == undefined)
{
return false;
}
return true;
};
//检查生日是否正确
checkBirthday = function(card)
{
var len = card.length;
//身份证15位时,次序为省(3位)市(3位)年(2位)月(2位)日(2位)校验位(3位),皆为
数字
if(len == ’15′)
{
var re_fifteen = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/;
var arr_data = card.match(re_fifteen);
var year = arr_data[2];
var month = arr_data[3];
var day = arr_data[4];
var birthday = new Date(’19′+year+’/'+month+’/'+day);
return verifyBirthday(’19′+year,month,day,birthday);
}
//身份证18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验
位末尾可能为X
if(len == ’18′)
{
var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;
var arr_data = card.match(re_eighteen);
var year = arr_data[2];
var month = arr_data[3];
var day = arr_data[4];
var birthday = new Date(year+’/'+month+’/'+day);
return verifyBirthday(year,month,day,birthday);
}
return false;
};
//校验日期
verifyBirthday = function(year,month,day,birthday)
{
var now = new Date();
var now_year = now.getFullYear();
//年月日是否合理
if(birthday.getFullYear() == year && (birthday.getMonth() + 1) == month &&
birthday.getDate() == day)
{
//判断年份的范围(3岁到100岁之间)
var time = now_year – year;
if(time >= 3 && time <= 100)
{
return true;
}
return false;
}
return false;
};
//校验位的检测
checkParity = function(card)
{
//15位转18位
card = changeFivteenToEighteen(card);
var len = card.length;
if(len == ’18′)
{
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array(’1′, ’0′, ‘X’, ’9′, ’8′, ’7′, ’6′, ’5′, ’4′, ’3′, ’2′);
var cardTemp = 0, i, valnum;
for(i = 0; i < 17; i ++)
{
cardTemp += card.substr(i, 1) * arrInt[i];
}
valnum = arrCh[cardTemp % 11];
if (valnum == card.substr(17, 1))
{
return true;
}
return false;
}
return false;
};
//15位转18位身份证号
changeFivteenToEighteen = function(card)
{
if(card.length == ’15′)
{
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array(’1′, ’0′, ‘X’, ’9′, ’8′, ’7′, ’6′, ’5′, ’4′, ’3′, ’2′);
var cardTemp = 0, i;
card = card.substr(0, 6) + ’19′ + card.substr(6, card.length – 6);
for(i = 0; i < 17; i ++)
{
cardTemp += card.substr(i, 1) * arrInt[i];
}
card += arrCh[cardTemp % 11];
return card;
}
return card;
}
</script>
</head>
<form name=”form1″ method=”post” action=”">
<label>身份证号
<input name=’card_no’ type=’text’ id=’card_no’ onBlur=’javascript:checktheform();’/>
</label>
<label>
<input type=”submit” name=”Submit” value=”提交”>
</label>
</form>
发表评论
-
Javascript类定义语法,私有成员、受保护成员、静态成员等
2014-05-29 10:59 718JS只是一门支持面向对象编程的语言,通过OO可以让我们的 ... -
Javascript 继承模式
2014-05-29 10:59 711在面向对象的JavaScript开发中使用继承可以提高代码 ... -
用JavaScript实现自己的DOM选择器
2014-05-28 14:27 668解释器模式(Interpreter):定义一种语法格式,通过 ... -
Javsript代码的注释和模块定义
2014-05-28 14:21 826可以这样定义模块: (function(ns, re ... -
在JavaScript中应用单例模式管理命名空间
2014-05-28 10:56 790单例模式确保一个类在整个应用程序中只有一个是实例对象,在J ... -
移动WEB开发中媒体查询里的width, device-width, resolution
2014-05-28 10:14 999/*1、width: viewport的宽度,css像素,三星 ... -
前端性能优化
2014-05-27 15:16 8721. 请减少HTTP请求 基本原理: ... -
jquery sizzle 选择器浅析
2014-05-26 14:23 1198看了jquery的源码,jquery用的选择器的引擎是siz ... -
jQuery 1.8,1.9和2.0分别带来的新特性
2014-05-26 14:17 1326jQuery 1.8 可定制 在jQuery ... -
jquery点击div之外的地方div本身消失
2014-05-15 12:22 873<!DOCTYPE html PUBLIC " ... -
jquery-migrate: 迁移旧的jQuery代码至jQuery1.9以上的版本
2014-05-14 16:31 648这个插件可以用来检测和恢复在jQuery1.9版本中已删除或 ... -
移动WEB在线开发工具 – Codiqa
2014-05-12 15:43 631Codiqa,https://codiqa.com 简单试用 ... -
Android手机版浏览器DIV滚动条失效解决方案
2014-05-08 11:09 1200除了BODY和HTML的滚动条,在触屏下几乎所有浏览器都不支 ... -
解耦HTML、CSS和JavaScript
2014-02-14 11:32 618当前在互联网上, ... -
使用console.table()调试javascript
2014-01-20 15:42 606或许你已经习惯了console.log()来调试js,非常好 ... -
JS对象复制
2014-01-17 16:18 604在JavaScript很多人复制 ... -
jQuery反向排序(倒序)子对象
2013-12-26 10:53 2279<!DOCTYPE html><html&g ... -
js object写法 参数传递jquery对象
2013-12-24 11:21 923<!DOCTYPE HTML PUBLIC &quo ... -
JavaScript模拟QQ签名(HTML5 contenteditable属性)
2013-12-24 11:08 587一、思路 1、单击元素时,使元素可以编辑,并获得焦点 2 ... -
ieBetter.js-让IE6-IE8拥有IE9+,Chrome等浏览器特性
2013-12-19 15:47 800IE6-IE8浏览器,按照现代浏览器的API来工作就好了!也 ...
相关推荐
网上很多关于身份证校验的javascript代码,不过都没给全,以下是我添加全了函数一起提供的,希望对大家有所帮助。 javascript身份证号码验证-支持18位带x身份证。
使用javascript校验身份证号码的合法性 校验规则严格,很容易套用到项目中 套用例子详见http://blog.csdn.net/zcyhappy1314/article/details/8645189
* 身份证15位编码规则:dddddd yymmdd xx p * dddddd:地区码 * yymmdd: 出生年月日 * xx: 顺序类编码,无法确定 ... * i为身份证号码从右往左数的 2...18 位; Y_P为脚丫校验码所在校验码数组位置
运用javascript进行身份证号码格式验证。
javaScript实现验证身份证是否正确,并能获取户口所在地。 调用方式: 引入idCard.js var msg = idCard.checkIdCard(身份证号); msg为 "正确" 时验证正确,否则返回错误信息 身份证正确时调用 var address = ...
18位身份证号码验证代码,js验证 ,javascript验证18位身份证代码,js验证身份证号码。
JavaScript正则表达式验证身份证号码是否合法(两种方法)分析.docx
JavaScript截取手机号码 手机验证 身份证验证等等
用javascript验证的一个html文件,直接可见效果。
JS验证身份证及获取地区功能示例 主要介绍了JS实现的验证身份证及获取地区功能,结合实例形式分析了JS字符串、数组及正则操作相关技巧,需要的朋友可以参考下
直接调用checkIdcard(idcard)即可idcard为需要验证的身份证号码
用javascript 校验 身份证 的真实性
在用户注册页面有些需求要求的比较严格,需要对身份证验证是否合法,通过此功能严格此系统软件,从而过滤到很多水客。此篇文章主要是讲解如何用javascript正则表达式验证身份证号码是否合法,需要的朋友可以参考下
最全身份证号码验证JS包含以下内方面内容: 1、验证身份证的长度及格式 2、验证身份证地区是否正确 3、验证身份证上的出生日期是否正确 4、验证身份证号最后一位是否正确 5、根据身份证号验证性别 以上内容希望对有...
一些javascript验证,就是身份证验证
JavaScript的form表单验证中的身份证校验
一个很好的前台身份证号码验证程序,是用javascript写的程序。可以保证传到服务器端的是真实存在的身份证号码。
js方法获得身份证号码对应的信息(性别、出生日期、籍贯省市) 亲测,绝对正确
身份证 验证javascript
通过身份证号码特点设计的验证程序。能准确的验证身份证号真伪