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 判断Flash是否加载完成的代码
Apr 12 Javascript
得到jQuery detach()后节点中的某个值实现代码
Feb 05 Javascript
Easyui 之 Treegrid 笔记
Apr 29 Javascript
一系列Bootstrap导航条使用方法分享
Apr 29 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
May 24 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
Jun 25 Javascript
微信小程序的生命周期的详解
Oct 19 Javascript
浅谈Vue页面级缓存解决方案feb-alive(上)
Apr 14 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
May 02 Javascript
vue-cli设置css不生效的解决方法
Feb 07 Javascript
公众号SVG动画交互实战代码
May 31 Javascript
Vue监视数据的原理详解
Feb 24 Vue.js
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
PHP5中新增stdClass 内部保留类
2011/06/13 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
JS运行耗时操作的延时显示方法
2010/11/19 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
jQuery实现的AJAX简单弹出层效果代码
2015/11/26 Javascript
Eclipse引入jquery报错如何解决
2015/12/01 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
简单实现JS上传图片预览功能
2017/04/14 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
ant design pro中可控的筛选和排序实例
2020/11/17 Javascript
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python最基本的输入输出详解
2015/04/25 Python
详解Python中的序列化与反序列化的使用
2015/06/30 Python
Python抓取百度查询结果的方法
2015/07/08 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
Python中optparser库用法实例详解
2018/01/26 Python
python绘制中国大陆人口热力图
2018/11/07 Python
Python 互换字典的键值对实例
2019/02/12 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
python利用递归方法实现求集合的幂集
2020/09/07 Python
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
武汉世纪畅想数字传播有限公司.NET笔试题
2014/07/22 面试题
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
结婚保证书范文
2014/04/29 职场文书
社保委托书怎么写
2014/08/02 职场文书
优秀党员推荐材料
2014/12/18 职场文书
走近毛泽东观后感
2015/06/04 职场文书
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
2021/05/06 MySQL
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫