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 相关文章推荐
很可爱的输入框
Aug 03 Javascript
js删除所有的cookie的代码
Nov 25 Javascript
禁止选中文字兼容IE、Chrome、FF等
Sep 04 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
Jan 04 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
Jun 17 Javascript
Angularjs的Controller间通信机制实例分析
Nov 07 Javascript
livereload工具实现前端可视化开发【推荐】
Dec 23 Javascript
vue-router 导航钩子的具体使用方法
Aug 31 Javascript
jQuery实现html双向绑定功能示例
Oct 09 jQuery
解决JavaScript中0.1+0.2不等于0.3问题
Oct 23 Javascript
js实现多个倒计时并行 js拼团倒计时
Feb 25 Javascript
js实现全选反选不选功能代码详解
Apr 24 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
如何分别全角和半角以避免乱码
2006/10/09 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
如何写php守护进程(Daemon)
2015/12/30 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
php json转换相关知识(小结)
2018/12/21 PHP
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
原生js实现网易轮播图效果
2020/04/10 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
vue实现拖拽的简单案例 不超出可视区域
2019/07/25 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
详解python开发环境搭建
2016/12/16 Python
Python查询IP地址归属完整代码
2017/06/21 Python
Python生成器以及应用实例解析
2018/02/08 Python
Pycharm更换python解释器的方法
2018/10/29 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
详解Python中list[::-1]的几种用法
2020/11/16 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
Python实现疫情地图可视化
2021/02/05 Python
CSS3实现图片抽屉式效果的示例代码
2019/11/06 HTML / CSS
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
日本小田急百货官网:Odakyu
2018/07/19 全球购物
MADE法国:提供原创设计师家具
2018/09/18 全球购物
美国社交购物市场:MassGenie
2019/02/18 全球购物
DTD的含义以及作用
2014/01/26 面试题
党支部承诺书范文
2014/03/28 职场文书
自愿解除劳动合同协议书
2014/09/11 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
Python进程间的通信之语法学习
2022/04/11 Python