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 相关文章推荐
Expandable &quot;Detail&quot; Table Rows
Aug 29 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
Dec 04 Javascript
jquery使用$(element).is()来判断获取的tagName
Aug 24 Javascript
JavaScript编程中布尔对象的基本使用
Oct 25 Javascript
javascript图片预加载完整实例
Dec 10 Javascript
Javascript实现前端简单的路由实例
Sep 11 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
Mar 10 Javascript
js使用xml数据载体实现城市省份二级联动效果
Nov 08 Javascript
javascript将json格式数组下载为excel表格的方法
Dec 22 Javascript
JS调用安卓手机摄像头扫描二维码
Oct 16 Javascript
vue倒计时刷新页面不会从头开始的解决方法
Mar 03 Javascript
vue 使用vant插件做tabs切换和无限加载功能的实现
Nov 04 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
php执行sql语句的写法
2009/03/10 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
2013/07/03 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
javascript 函数调用规则
2009/08/26 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
$(document).ready(function() {})不执行初始化脚本
2014/06/19 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
2016/01/18 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
Vue 实现展开折叠效果的示例代码
2018/08/27 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
mpvue全局引入sass文件的方法步骤
2019/03/06 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
深入理解Django的中间件middleware
2018/03/14 Python
对python判断是否回文数的实例详解
2019/02/08 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
css3实现二维码扫描特效的示例
2020/10/29 HTML / CSS
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
城市轨道专业个人求职信范文
2013/09/23 职场文书
新闻记者个人求职的自我评价
2013/11/28 职场文书
中学教师请假制度
2014/02/03 职场文书
辩论赛主持词
2014/03/18 职场文书
购房协议书
2014/04/11 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
辛亥革命观后感
2015/06/02 职场文书
python编程实现清理微信重复缓存文件
2021/11/01 Python