html代码

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body>身份证号:<input type="text"> <script src="../js/citys.js"></script><script>var _input=document.querySelector("input");_input.onblur=function(){var num= this.value;var flag=checkId(num);if(!flag){alert("身份信息有误");}}/*18位: 41072419980815451x410724 1998 0815 451x41:省编码前2位4107:市编码前4位410724:县编码45:派出所编码1:奇数为男,偶数为女x:计算所得1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2;2、将这17位数字和系数相乘的结果相加;3、用加出来和除以11,看余数是多少;4、余数只可能有0、1、2、3、4、5、6、7、8、9、10这11个数字,其分别对应的最后一位身份证的号码为1、0、X、9、8、7、6、5、4、3、2。*///长度要合格function checkId(ID){if(ID.length>18){return false;}//先获取各省编码前两位var shenCode=ID.substr(0,2);//从头开始截取,截取两位//从函数中获取对应省的数组var shens = citys.districts[0].districts;console.log(shens);//从获得的数组中找到对应省var shen=shens.find(function(obj){//找到数组中的省编码,并检查是否符合截取return obj.adcode.startsWith(shenCode);})//省没有在编码中找到if (shen == undefined) {return false;}//获取身份证前4位  市编码前两位var cityCode = ID.substr(0, 4);//获取市的数组var cs = shen.districts;console.log(cs);//获取到的是对应的市var city = cs.find(function(obj) {return obj.adcode.startsWith(cityCode);})if (city == undefined) {return false;}//获取身份证前6位  省编码前两位var countyCode = ID.substr(0, 6);//获取县的数组var countys = city.districts;//对应的县var county = countys.find(function(obj) {return obj.adcode==countyCode;})if (county == undefined) {return false;}//验证最后一位// 1、将前面的身份证号码17位数分别乘以不同的系数。//    从第一位到第十七位的系数分别为:7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2;var nums=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];// 2、将这17位数字和系数相乘的结果相加;var res=nums.reduce(function(res,item,index){//ID的每一项(通过charAt下表找到对应字符串)分别*nums的每一项res+=ID.charAt(index)*item;return res;},0)// 3、用加出来和除以11,看余数是多少;var mod=res%11;// 4、余数只可能有0、1、2、3、4、5、6、7、8、9、10这11个数字,//       其分别对应的最后一位身份证的号码为1、0、X、9、8、7、6、5、4、3、2。var endNums=[1,0,"x",9,8,7,6,5,4,3,2];//substring截取17位以后的数字看是否符合数组endNumsif(ID.substring(17)!=endNums[mod]){return false;}return true;}</script></body>
</html>

js实现身份证验证功能相关推荐

  1. Js中身份证验证及社会统一信用代码验证

    二代身份证验证规则如下: //函数参数必须是字符串,因为二代身份证号码是十八位,而在javascript中,十八位的数值会超出计算范围,造成不精确的结果,导致最后两位和计算的值不一致,从而该函数出现错 ...

  2. JS手机号身份证验证

    //验证手机号码function checkPhone(phone){var phone = phone;var pattern = /^1[0-9]{10}$/;isPhone = 1;if(pho ...

  3. JS实现身份证的验证

    需求:近期做有关身份证验证的功能,现在分享JS实现身份证号码的验证代码. 代码如下: ​ //返回true,验证通过,否则不通过 function isIdCardNumber(code) { var ...

  4. js实现身份证号码验证

    文章最新地址请访问:http://leeyee.github.io/blog/2013/07/31/javascript-idcard-validate/ 以下是根据身份证号码编码规则,使用JS对其进 ...

  5. js实现身份证号码有效性验证

    //Js获取日期.月初时的前天.昨天.今天.明天 function getDay(day) {var today = new Date();var targetday_milliseconds = t ...

  6. css3 滑动验证,Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)

    vue验证滑块功能,在生活中很多地方都可以见到,那么使用起来非常方便,基于vue如何实现滑块验证呢?下面通过代码给大家讲解. 效果图如下所示: 拖动前 拖动后 代码引用的css与js都是线上的 将代码 ...

  7. js姓名和身份证验证

    jsp: <div class=""><p>姓名</p><input type="text" id="use ...

  8. 【JS】Js二代身份证号码正则验证

    Js二代身份证号码正则验证代码: export function checkIDCard(idcode) {// 加权因子var weight_factor = [7,9,10,5,8,4,2,1,6 ...

  9. js实现身份证号码验证(组成结构以及验证原理)

    今天一个客户反馈过来说用户身份证不能输入字母"X",让我看看怎么回事.看到客户发过来的截图,原来限制了只能输入数字.这个修改起来简单,二话不说打开代码,由于代码是同事写的,仔细看了 ...

  10. js与php表单验证,JS简单表单验证功能完整示例

    本文实例讲述了JS简单表单验证功能.分享给大家供大家参考,具体如下: 简单js表单验证demo Document //当用户名获取焦点时 function focus_username(){ docu ...

最新文章

  1. java 图像采集_JAVA B/S通过摄像头采集图片信息解决方案。
  2. 在Sharepoint中批量删除大量条目
  3. linux下面升级 Python版本并修改yum属性信息
  4. C# 获取对象 大小 Marshal.SizeOf (sizeof 只能在不安全的上下文中使用)
  5. Hashtable的测试
  6. 第二章 Python基本元素:数字、字符串和变量
  7. try-catch的使用以及细节
  8. java nodefilter类,Java Servlet Filter过滤器概述
  9. PSIM软件学习---08 C程序块的调用
  10. windows--bat--删除当前脚本del %0
  11. python聊天机器人
  12. 在ASP.NET MVC应用程序中随机获取一个字符串
  13. 几个小技巧提升导图使用逼格
  14. mysql workbench画er_MySQL Workbench画ER图
  15. python函数_列表入门
  16. 华为应用市场业务介绍
  17. Armv8架构虚拟化
  18. 学生党必备读书笔记app推荐
  19. CTF/CTF练习平台-welcome to bugkuctf【php://filter及php://input】
  20. 一度智信:拼多多店铺怎么盈利

热门文章

  1. 【Hadoop】Hadoop组件 -之 HDFS组件
  2. python网格搜索核函数_python机器学习——超参数网格搜索
  3. python如何输入特殊符号_python特殊符号转义
  4. 台式电脑主机前面耳机插孔没声音的解决方法
  5. 搞深度学习框架的那帮人,不是疯子,就是骗子
  6. SwiftyJSON的使用详解
  7. multisim10中设置变压器匝数比的两种方法
  8. vpp flowprobe
  9. 阿里云VOD 视频点播(一)、nuxt视频上传,视频播放
  10. 计算机程序设计语言分为机器语言,汇编语言和高级语言三种,简述计算机程序设计语言(机器语言、汇编语言、高级语言)的优缺点。...