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 相关文章推荐
用prototype实现的简单小巧的多级联动菜单
Mar 24 Javascript
js数组与字符串的相互转换方法
Jul 09 Javascript
基于jquery实现简单的分页控件
Mar 17 Javascript
JSON字符串和对象相互转换实例分析
Jun 16 Javascript
微信小程序 本地数据存储实例详解
Apr 13 Javascript
AngularJS实用基础知识_入门必备篇(推荐)
Jul 10 Javascript
vue.js2.0点击获取自己的属性和jquery方法
Feb 23 jQuery
解决vue无法设置滚动位置的问题
Oct 07 Javascript
bootstrap table合并行数据并居中对齐效果
Oct 17 Javascript
vue组件通信传值操作示例
Jan 08 Javascript
基于js实现抽红包并分配代码实例
Sep 19 Javascript
详解javascript void(0)
Jul 13 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
程序员编程十条戒律
2009/07/09 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
php生成随机数的三种方法
2014/09/10 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
PHP可变函数学习小结
2015/11/29 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
Thinkphp整合阿里云OSS图片上传实例代码
2019/04/28 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
2011/09/29 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
2015/08/06 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
slideToggle+slideup实现手机端折叠菜单效果
2017/05/25 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
从setTimeout看js函数执行过程
2017/12/19 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
[02:30]辉夜杯主赛事第二日胜者组半决赛 CDEC.Y赛后采访
2015/12/26 DOTA
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
django rest framework serializer返回时间自动格式化方法
2020/03/31 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
Python 实现键盘鼠标按键模拟
2020/11/18 Python
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
软件测试面试题
2014/01/05 面试题
建筑自我鉴定
2013/10/19 职场文书
法制宣传教育方案
2014/05/09 职场文书
毕业酒会致辞
2015/07/29 职场文书