欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-03 10:06:34
本文实例讲述了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正则表达式在线测试工具:

正则表达式在线生成工具:

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

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