/*** 身份证号合法性验证 * 支持15位和18位身份证号* 支持地址编码、出生日期、校验位验证*/function IdentityCodeValid(code) { var city={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:"国外 "};var tip = "";var pass= true;if(!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(code)){tip = "身份证号格式错误";pass = false;}else if(!city[code.substr(0,2)]){tip = "地址编码错误";pass = false;}else{//18位身份证需要验证最后一位校验位if(code.length == 18){code = code.split('');//∑(ai×Wi)(mod 11)//加权因子var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];//校验位var parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 ];var sum = 0;var ai = 0;var wi = 0;for (var i = 0; i < 17; i++){ai = code[i];wi = factor[i];sum += ai * wi;}var last = parity[sum % 11];//最后一位不区分大小写if(code[17]=='x') code[17] = code[17].toUpperCase();if(parity[sum % 11] != code[17]){tip = "校验位错误";pass =false;}}}return {'status':pass,'msg':tip};}

js正则验证身份证号码(最后一位x不区分大小写)相关推荐

  1. js正则验证身份证号码是否真实有效

    网上找了很多js,jQuery 正则表达式验证身份证是否有效的方法,多数是验证是否15位数字18位数字或者最后一位是Xx字母,都不太有效避免随便输入数字这种情况.例如下面两种: //身份证正则表达式( ...

  2. js正则验证身份证号码并 根据号码获取生日和性别

    最近项目中碰到一个需求,根据用户输入的身份证号码自动识别生日,和性别,为此专门在网上找了下资料了解了下,建议先了读一遍下边的文章 身份证信息介绍: https://baijiahao.baidu.co ...

  3. JS(JavaScript)验证身份证号码格式的合法性

    一.JS(JavaScript)验证身份证号码格式的合法性,前端工程师会用到JavaScript验证身份证号码是否合法,这里分享一段本人多年以前多写的JavaScript验证输入身份证号码合法性的代码 ...

  4. js正则匹配身份证号码

    js正则匹配身份证号码 2020/12/14 // 匹配大陆身份证号码 function IsID(ids) {let reg = /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0 ...

  5. JS正则表达式验证身份证号码

    function isCardNo(card) { // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X var reg = /(^\d{1 ...

  6. js正则验证身份证号是否正确

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 封装js公共方法 //验证身份证格式 const IdentityCodeValid = sId => ...

  7. JS正则表达式验证身份证号码、真实姓名

    js验证身份证号: var idNo = $('#id_card_no').val(); var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$) ...

  8. Layui官方js正则验证手机号,邮箱,网址,日期,身份证

    Layui官方js正则验证手机号,邮箱,网址,日期,身份证.从官方js里挖出来的,正则表达式,赶紧收藏. js正则验证手机号:/^1\d{10}$/ js正则验证邮箱:/^([a-zA-Z0-9_\. ...

  9. js验证身份证号码包括最后一位字母

    通过正则进行js验证身份证号码: var numRegex = /^([a-zA-Z\d_]{1,18})$/;if (!numRegex.test(val)) {return '请输入身份证号码或格 ...

最新文章

  1. 中国电子学会scratch等级考试四级编程题:找出出现次数最多的数字
  2. 资源 | Yann LeCun最新演讲:大脑是如何高效学习的?(附PPT+视频)
  3. oracle 收回 user,oracle 10.2.0.3对USER收回CONNECT及RESOURCE
  4. Prometheus 序章/第一/二讲
  5. 1个月增长15000 star,zx 库写shell脚本真不错~
  6. 探索.NET平台中的SIMD内在函数Vector
  7. 知乎个人精选 | 绝版的专业书到哪里找最快最高效?
  8. mysql数据库查询语句过程_mysql(一) SQL查询语句执行过程
  9. Node.js: 如何退出node命令或者node server
  10. java操作redis并发_使用Redis incr解决并发问题的操作
  11. 只想做程序员的钢铁侠埃隆·马斯克,是如何成为亿万富翁的?
  12. 洛谷P1351 联合权值(树形dp)
  13. C/C++ 控制台输入
  14. [转]paint,update和repaint三种awt方法
  15. 对数周期天线hfss建模_Ansoft HFSS 在设计对数周期天线时的仿真方法-HFSS教程
  16. Extjs4.2里Grid显示日期类型数据
  17. python + opencv 中值滤波器、最大值滤波器和最小值滤波器
  18. 局域网远程桌面无法连接到远程计算机,局域网无法远程连接桌面怎么解决
  19. 用photoshop给gif批量加水印
  20. PDF单位尺寸与像素转换

热门文章

  1. FPGA Altera Remote Update笔记
  2. 高效构建基于Python的商品评论文本挖掘网页APP
  3. 微信小程序——个人版微信小程序与企业版微信小程序区别
  4. 【太虚AR_v0.1】使用教程 | 视频播放
  5. Android网络代理原理及实现
  6. 敏捷团队︱数字化领导力之敏捷团队建设
  7. 推荐系统中的排序学习
  8. 学习笔记之——路径规划
  9. 博客匿名评论功能正式上线了!
  10. HTTP status Code 412 未满足前提条件的解决方法之一