当前位置: 首页 > news >正文

javascript 18位身份证校验程序

function IdCodeCheck(code)
{
  var flag = true;
  if (!code || code.length != 18 || !/^[1-9]\d{5}((1[89]|20)\d{2})(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dx]$/i.test(code))
  {
    //格式错误
    flag = false
  }
  else
  {
    code       = code.split('');
    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;
    for (var i = 0; i < 17; i++) sum += code[i] * factor[i];
    var last = parity[sum % 11];
    if (last != code[17].toUpperCase())
    {
        //校验位错误
        flag = false
    }
  }
  return flag;
}

经过大量数据测试,没有发现问题!

以上代码借鉴了其他人士的代码。

相关文章:

  • MTK的DM应用实例
  • 优酷KUX格式转码
  • 推荐一款全面的系统性能监控工具 -- glances
  • 再转载一篇---引用 MTK的高亮机制
  • 解决加密的HLS(m3u8)视频转换问题
  • 再谈MTK的History机制
  • 在屏幕外的窗口,鼠标移动到屏幕边缘时自动把屏幕外部分拉回屏幕内怎么设置?
  • MTK的图片资源的修改与替换
  • [转]节省 3/4 的设计时间:14个设计神器
  • 转载一篇 EMI整改经验
  • Linux TIME_WAIT 太多 优化 解决
  • Sql Server 性能分析1 –查看数据库的相关信息
  • 某游戏公司的MYSQL配置文件
  • CentOS7 之系统优化方案
  • 存储过程中的行集作为子查询
  • JavaScript 如何正确处理 Unicode 编码问题!
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • HTTP--网络协议分层,http历史(二)
  • JSONP原理
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • Logstash 参考指南(目录)
  • Spring Cloud Feign的两种使用姿势
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • SQL 难点解决:记录的引用
  • SQLServer之索引简介
  • 分布式事物理论与实践
  • 力扣(LeetCode)56
  • 浏览器缓存机制分析
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 算法系列——算法入门之递归分而治之思想的实现
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​你们这样子,耽误我的工作进度怎么办?
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • ### RabbitMQ五种工作模式:
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #php的pecl工具#
  • #pragma once与条件编译
  • (13):Silverlight 2 数据与通信之WebRequest
  • (C语言)逆序输出字符串
  • (c语言+数据结构链表)项目:贪吃蛇
  • (windows2012共享文件夹和防火墙设置
  • (ZT)薛涌:谈贫说富
  • (翻译)terry crowley: 写给程序员
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (四)汇编语言——简单程序
  • (转)scrum常见工具列表
  • .net core Swagger 过滤部分Api
  • .net core 控制台应用程序读取配置文件app.config
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter