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 相关文章推荐
让您的菜单不离网站
Oct 03 Javascript
javascript下有关dom以及xml节点访问兼容问题
Nov 26 Javascript
jQuery原型属性和原型方法详解
Jul 07 Javascript
解决jquery无法找到其他父级子集问题的方法
May 10 Javascript
AngularJS自定义插件实现网站用户引导功能示例
Nov 07 Javascript
JS实现的Unicode编码转换操作示例
Apr 28 Javascript
vue axios请求拦截实例代码
Mar 29 Javascript
webstorm和.vue中es6语法报错的解决方法
May 08 Javascript
apicloud拉起小程序并传递参数的方法示例
Nov 21 Javascript
Vue中实现权限控制的方法示例
Jun 07 Javascript
基于vue实现圆形菜单栏组件
Jul 05 Javascript
7个你应该知道的JS原生错误类型
Apr 29 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
php模拟js函数unescape的函数代码
2012/10/20 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
2013/06/26 PHP
php接口和抽象类使用示例详解
2014/03/02 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
使用gulp构建前端自动化的方法示例
2018/12/25 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
[01:05:41]EG vs Optic Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
python中字典dict常用操作方法实例总结
2015/04/04 Python
Python入门教程之if语句的用法
2015/05/14 Python
Python写的一个简单监控系统
2015/06/19 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
django2.2安装错误最全的解决方案(小结)
2019/09/24 Python
tensorboard显示空白的解决
2020/02/15 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
TensorFlow中如何确定张量的形状实例
2020/06/23 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
html5 canvas 实现光线沿不规则路径运动
2020/04/20 HTML / CSS
英国网络托管和域名领导者:Web Hosting UK
2017/10/15 全球购物
写给女生的道歉信
2014/01/08 职场文书
《宋庆龄故居的樟树》教学反思
2014/04/07 职场文书
《云房子》教学反思
2014/04/20 职场文书
经济贸易系求职信
2014/08/04 职场文书
敬老院活动感想
2015/08/07 职场文书
关于Vue Router的10条高级技巧总结
2021/05/06 Vue.js
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript