JS实现的验证身份证及获取地区功能示例


Posted in Javascript onJanuary 16, 2017

本文实例讲述了JS实现的验证身份证及获取地区功能。分享给大家供大家参考,具体如下:

这里的代码可以用来验证身份证号,并且根据身份证号来判断是哪个省份及性别

代码示例:

<head >
  <title></title>
  <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
</head>
<body>
  <form id="form1" >
  <label>
    身份证号:</label><input type="text" id="txtId" />
  <input type="button" value="验证" onclick="CheckId()" />
  </form>
</body>
</html>
<script type="text/javascript">
  //定义地区数组
  var CityArray = { 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: "国外" }
  //验证身份证及返回地区、出生年月、性别
  function CheckIdCard(sId) {
    if (sId.length == 15) {
      sId = sId.replace(/([\d]{6})(\d{9})/, "$119$2x");
    }
    var iSum = 0
    var info = ""
    if (!/^\d{17}(\d|x)$/i.test(sId)) return "非法的身份证号";
    sId = sId.replace(/x$/i, "a");
    if (CityArray[parseInt(sId.substr(0, 2))] == null) return "Error:非法地区";
    sBirthday = sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2));
    var d = new Date(sBirthday.replace(/-/g, "/"))
    if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())) return "Error:非法生日";
    for (var i = 17; i >= 0; i--) iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17 - i), 11)
    if (iSum % 11 != 1) return "Error:非法证号";
    return CityArray[parseInt(sId.substr(0, 2))] + "," + sBirthday + "," + (sId.substr(16, 1) % 2 ? "男" : "女")
  }
  //调用验证方法
  function CheckId() {
    var id = $("#txtId").val();
    if (id != "") {
      alert(CheckIdCard(id));
    }
  }
</script>
Javascript 相关文章推荐
避免 showModalDialog 弹出新窗体的原因分析
May 31 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
JS和Jquery获取和修改label的值的示例代码
Jan 15 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 Javascript
Javascript中this的用法详解
Sep 22 Javascript
JS返回iframe中frameBorder属性值的方法
Apr 01 Javascript
javascript插件开发的一些感想和心得
Feb 28 Javascript
javaScript实现复选框全选反选事件详解
Nov 20 Javascript
AngularJS实现的base64编码与解码功能示例
May 17 Javascript
利用jsonp解决js读取本地json跨域的问题
Dec 11 Javascript
VUE脚手架的下载和配置步骤详解
Apr 01 Javascript
JavaScript提升机制Hoisting详解
Oct 23 Javascript
JavaScript严格模式详解
Jan 16 #Javascript
关于iframe跨域POST提交的方法示例
Jan 15 #Javascript
JavaScript中利用for循环遍历数组
Jan 15 #Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
Jan 15 #Javascript
JavaScript调试的多个必备小Tips
Jan 15 #Javascript
使用Promise链式调用解决多个异步回调的问题
Jan 15 #Javascript
js实现密码强度检验
Jan 15 #Javascript
You might like
BBS(php &amp; mysql)完整版(六)
2006/10/09 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
jQuery中triggerHandler()方法用法实例
2015/01/19 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
js实现拖拽效果
2015/02/12 Javascript
使用jQuery获得内容以及内容的属性
2015/02/26 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
2016/05/03 Javascript
最丑的时钟效果!js canvas时钟制作方法
2016/08/15 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
在Python中处理日期和时间的基本知识点整理汇总
2015/05/22 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
Django实现组合搜索的方法示例
2018/01/23 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
Python之循环结构
2019/01/15 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
解决HTML5中滚动到底部的事件问题
2019/08/22 HTML / CSS
Staples英国官方网站:办公用品一站式采购
2017/10/06 全球购物
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
《逃家小兔》教学反思
2014/02/23 职场文书
小学生植树节活动总结
2014/07/04 职场文书
小学三好学生事迹材料
2014/08/15 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
利用 SQL Server 过滤索引提高查询语句的性能分析
2021/07/15 SQL Server