Js验证身份证
/* 根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。 地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码。 出生日期码表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。 顺序码表示同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。顺序码的奇数分给男性,偶数分给女性。 校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。 出生日期计算方法。 15位的身份证编码首先把出生年扩展为4位,简单的就是增加一个19或18,这样就包含了所有1800-1999年出生的人; 2000年后出生的肯定都是18位的了没有这个烦恼,至于1800年前出生的,那啥那时应该还没身份证号这个东东,⊙﹏⊙b汗... 下面是正则表达式: 出生日期1800-2099 (18|19|20)?\d{2}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01]) 身份证正则表达式 /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i 15位校验规则 6位地址编码+6位出生日期+3位顺序号 18位校验规则 6位地址编码+8位出生日期+3位顺序号+1位校验位 校验位规则 公式:∑(ai×Wi)(mod 11)……………………………………(1) 公式(1)中: i----表示号码字符从由至左包括校验码在内的位置序号; ai----表示第i位置上的号码字符值; Wi----示第i位置上的加权因子,其数值依据公式Wi=2^(n-1)(mod 11)计算得出。 i 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Wi 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1 */ //身份证号合法性验证 //支持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[12])(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(parity[sum % 11] != code[17]){ tip = "校验位错误"; pass =false; } } } if(!pass) alert(tip); return pass; } var c = '130981199312253466'; var res= IdentityCodeValid(c);
相关推荐
- **目的**:验证电流互感器的准确度等级和稳定性。 - **内容**:主要包括变比误差测试、相位角差测试、励磁特性试验等。 ### 干式电流互感器交代试验作业 - **作业指导书编码**:BDYCSY-ZW-03 - **目的**:确保...
4. **JSON Schema验证**:虽然`net.sf.json` 自身可能不直接支持JSON Schema验证,但可以通过与其他验证库结合使用,来确保接收到的JSON数据符合预定义的模式。 5. **JSON格式化和美化**:库中提供了方法可以将JSON...
6. Write/Verify 命令支持:该芯片支持 Write/Verify 命令,确保数据的正确写入和验证。 7. T10 承诺支持:Marvell 88SF9110B0 完全支持 T10 承诺规范,确保存储系统的可靠性和安全性。 应用场景 Marvell 88SF9110...
.txt`: 这可能是一个文本文件,原本可能是MD5校验码,用于验证文件完整性,但由于某些原因未能上传。 这些依赖库共同构成了一个完整的JSON处理环境,使得开发者能够在Java中轻松地进行JSON数据的序列化和反序列化,...
- **气室压力试验**:验证SF6气室的压力稳定性。 - **气室密封试验**:确保SF6气室在各种环境条件下均能保持良好的密封状态。 - **5.2 出厂试验** - 包括结构检查、机械操作和特性试验、主回路和控制回路的耐压...
SF授权系统是一种用于软件授权验证的解决方案,它确保了软件的合法使用,防止未经授权的复制和分发。 在软件/插件领域,授权系统扮演着至关重要的角色。它通常由两部分组成:客户端和服务端。客户端是嵌入在目标...
【冒险岛SF反挂登录器源码】是一个用于防止外挂程序在冒险岛私人服务器(SF)上运行的登录器的源代码。源码通常由编程语言编写,这里是使用易语言,一种流行的中国本土化编程工具,以实现特定功能。易语言以其简单...
2023全新SF授权系统源码 V3.7全开源无加密版本。网站搭建很简单,大致看来一下应该域名解析后上传源码解压,访问域名/install就能直接安装。 程序功能简介: 1.盗版入库(26种) 2.快捷登录 3.采用layuiadmin框架 4....
当APK被安装时,Android系统会使用证书中的公钥来解密签名,然后对比解密后的数据和CERT.SF中的原始签名数据,以验证APK的完整性和来源的真实性。 通过这些文件,Android系统可以确保APK未经篡改,只有经过签名验证...
- JSON Schema验证:`net.sf.json.JSONObject.validateSchema()`方法可以用来验证JSON对象是否符合指定的JSON Schema。 - 转换策略:`net.sf.json.util.JSONConfig`允许你配置转换规则,比如日期格式、循环引用的...
总的来说,"最新美化劲舞团SF登陆器原代码"是一个极好的学习资源,涵盖了登录验证、界面美化、性能优化等多个方面的知识。对于有志于游戏开发或者前端设计的人员来说,这是一次宝贵的实践机会,从中可以汲取丰富的...
6. **验证固件**:升级后,重启电脑,进入BIOS或使用工具检查新的固件版本。 尽管固件升级通常很顺利,但可能会遇到问题,比如找不到设备、升级失败或设备无法识别。这些问题可能由不兼容的系统、错误的升级程序或...
- **验证时区**:可以通过`date`或`timedatectl`命令来检查时区是否正确设置。 总的来说,修复`timezone`问题,尤其是当`ln -sf`命令失效时,需要理解Linux时区的工作原理,并能够正确操作系统文件和链接。通过下载...
1. **集成验证**:在使用SDK之前,开发者需要进行集成验证,确保应用与平台之间的通讯安全无误。这通常涉及到API密钥的获取和设置,以及调用验证接口进行身份验证。SDK提供了便捷的方法来处理这些过程,减少了开发中...
6. **错误处理**:在处理JSON时,需要捕获JSONException,这是一个在解析、序列化或验证JSON时可能会抛出的异常。 7. **与其他数据类型转换**:JSONObject支持与Java基本类型、集合、Map等之间的转换,提供便利的...
安全复制(SCP)和SSH的使用方法、保护机制、验证流程等,为远程管理提供了安全的连接方式。 以上知识点全面覆盖了Cisco SF300系列管理型交换机的配置和管理领域,深入学习和掌握这些内容,将极大地提升网络工程师在...
标题“ADATA_SF_FieldUpdaterV136”指向的是一个固件更新工具,主要针对ADATA(威刚)品牌的存储设备,如固态硬盘或闪存驱动器。这个工具的主要功能是帮助用户更新其ADATA设备的固件,以提高性能、修复潜在问题或...
- **化学反应方程式**:\[8Li + SF_6 \rightarrow 6LiF + Li_2S\] - 反应产物包括LiF和Li_2S,这两种物质可溶于液态锂中,形成两种互不相溶的液体——燃料富集液(或金属富集液)和产物富集液(或盐富集液)。 - **...
3. 写操作:预编程、编程和写入验证,确保数据正确写入闪存芯片的特定地址。 4. 擦除操作:执行扇区擦除或整个芯片的擦除,为新数据腾出空间。 5. 锁定/解锁:设置和解除保护区域,防止特定区域的数据被意外修改。 6...
然而,在Citrix StoreFront(以下简称SF)取代WI成为主流发布平台后,原有的Secure Access功能被移除,取而代之的是通过Citrix Access Gateway或Netscaler进行ICA代理的方式。 这种方式虽然有效,但在某些场景下...