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判断两种格式的输入日期的正确性的代码
Mar 25 Javascript
js调试系列 控制台命令行API使用方法
Jun 18 Javascript
20个实用的JavaScript技巧分享
Nov 28 Javascript
纯js实现仿QQ邮箱弹出确认框
Apr 29 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
Jul 17 Javascript
《JavaScript函数式编程》读后感
Aug 07 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
Sep 26 Javascript
jquery实现自适应banner焦点图
Feb 16 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
Oct 26 Javascript
小程序ios音频播放没声音问题的解决
Jul 11 Javascript
Vue获取微博授权URL代码实例
Nov 04 Javascript
vue css 相对路径导入问题级踩坑记录
Jun 05 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
php 清除网页病毒的方法
2008/12/05 PHP
php下连接ftp实现文件的上传、下载、删除文件实例代码
2010/06/03 PHP
php重定向的三种方法分享
2012/02/22 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
简单三步,搞掂内存泄漏
2007/03/10 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
2016/04/18 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
2017/09/22 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
[02:16]DOTA2超级联赛专访Burning 逆袭需要抓住机会
2013/06/24 DOTA
Python实现发送email的几种常用方法
2014/08/18 Python
Python中函数及默认参数的定义与调用操作实例分析
2017/07/25 Python
python实现简单日期工具类
2019/04/24 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
python实现读取类别频数数据画水平条形图案例
2020/04/24 Python
python实现Oracle查询分组的方法示例
2020/04/30 Python
Python如何转换字符串大小写
2020/06/04 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
工商管理应届生求职信
2013/10/07 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
艺术节主持词
2014/04/02 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书
Mysql Show Profile
2021/04/05 MySQL
Spring中的@Transactional的工作原理
2022/06/05 Java/Android
vscode远程免密登入Linux服务器的配置方法
2022/06/28 Servers
Spring Boot优化后启动速度快到飞起技巧示例
2022/07/23 Java/Android