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 相关文章推荐
javascript innerHTML、outerHTML、innerText、outerText的区别
Nov 24 Javascript
jMessageBox 基于jQuery的窗口插件
Dec 09 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
Apr 02 Javascript
(function($){...})(jQuery)的意思
Jul 22 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
Jan 31 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
Dec 09 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
Jan 05 Javascript
Bootstrap中的Panel和Table全面解析
Jun 13 Javascript
AngularJS 实现购物车全选反选功能
Oct 24 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
Nov 22 Javascript
vue之a-table中实现清空选中的数据
Nov 07 Javascript
如何使用three.js 制作一个三维的推箱子游戏
Jul 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
德生1994机评
2021/03/02 无线电
PHP中替换键名的简易方法示例详解
2014/01/07 PHP
主流PHP框架的优缺点对比分析
2014/12/25 PHP
Yii框架实现图片上传的方法详解
2017/05/20 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
2011/07/31 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
2017/02/17 Javascript
jQuery用noConflict代替$的实现方法
2017/04/12 jQuery
Vue.js项目中管理每个页面的头部标签的两种方法
2018/06/25 Javascript
Fetch超时设置与终止请求详解
2019/05/18 Javascript
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
Python判断文本中消息重复次数的方法
2016/04/27 Python
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
python 接口返回的json字符串实例
2018/03/27 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
Python日志器使用方法及原理解析
2020/09/27 Python
python实现在列表中查找某个元素的下标示例
2020/11/16 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
英国玛莎百货美国官网:Marks & Spencer美国
2018/11/06 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
制药工程专业毕业生推荐信
2013/12/24 职场文书
丧事答谢词
2015/01/05 职场文书
长城导游词300字
2015/01/30 职场文书
工程催款通知书
2015/04/17 职场文书
课程设计感想范文
2015/08/11 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书
使用Redis实现实时排行榜功能
2021/07/02 Redis