当前位置: 首页 > 编程笔记 >

JS实现的验证身份证及获取地区功能示例

公羊绪
2023-03-14
本文向大家介绍JS实现的验证身份证及获取地区功能示例,包括了JS实现的验证身份证及获取地区功能示例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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>

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript正则表达式技巧大全》、《JavaScript替换操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

 类似资料:
  • 本文向大家介绍js+canvas实现验证码功能,包括了js+canvas实现验证码功能的使用技巧和注意事项,需要的朋友参考一下 刚刚开始接触canvas,写个验证码小功能练练手,实现效果图如下: 主要代码如下: html css js 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍JS正则表达式完美实现身份证校验功能,包括了JS正则表达式完美实现身份证校验功能的使用技巧和注意事项,需要的朋友参考一下 注意: 1、只针对18为身份证号码进行校验,现在15位的应该很少了, 2、不区分xX大小写, 3、出生年份1900-2099,每月的天数也进行相关验证(考虑的闰月的情况), 4、校验规则详见,这个写的比较详细和清楚,相信看过后都可以自己写一个, https://j

  • 本文向大家介绍JS实现的简单表单验证功能示例,包括了JS实现的简单表单验证功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现的简单表单验证功能。分享给大家供大家参考,具体如下: 源代码: myjs1.js文件代码: 注意:在js中声明变量用var,定义函数用function, 这个例子可以实现 爱好的验证(不能为空) ,密码是否一致,而且密码的长度要大于8,备注是否为空! 另

  • 本文向大家介绍JS编写函数实现对身份证号码最后一位的验证功能,包括了JS编写函数实现对身份证号码最后一位的验证功能的使用技巧和注意事项,需要的朋友参考一下 二代身份证号码为18位,其最后一位(第18位)的计算方法为: 1、 将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为: 7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2 2、 将这17位数字和系

  • 本文向大家介绍js实现二代身份证号码验证详解,包括了js实现二代身份证号码验证详解的使用技巧和注意事项,需要的朋友参考一下 废话少说,直接上代码,注释里解析的很清楚了,这里就不BB了。 怎么样,非常全面第一个身份证号码验证代码吧,和网上搜来的其他验证代码简直不是一个次元的,小伙伴们需要的直接拿走用吧。

  • 本文向大家介绍Okhttp3实现爬取验证码及获取Cookie的示例,包括了Okhttp3实现爬取验证码及获取Cookie的示例的使用技巧和注意事项,需要的朋友参考一下 目前正在做毕业设计,一个关于校园服务的app,我会抽取已完成的相关代码写到文章里。一是为了造福这个曾经帮助过我的社区,二是写文章的同时更能巩固相关知识的记忆。 一、前言 在爬取教务系统的过程中,验证码的获取是非常重要的:在生成验证码