kotlin代码:
private fun validateIdCard(cardNo: String?): Boolean { cardNo ?: return false if (cardNo.length != 18 || !cardNo.substring(0, 17).matches(Regex("\\d{17}"))) { return false } // 身份证号前17位分别和下面的array中对应的值相乘之后求和 // 然后模11之后的结果作为数组下标,去validCodes中取正确的尾号和参数中的尾号做校验接即可 val intArr = arrayOf(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2) var sum = 0 for (idx in intArr.indices) { sum += Character.digit(cardNo[idx], 10) * intArr[idx] } val mod = sum % 11 val validCodes = arrayOf("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2") return validCodes[mod] == cardNo.substring(cardNo.length - 1) }
只根据前17位算出正确的尾号来校验
相关推荐
身份证和银行卡号码的最后一位都是用前面的数字计算而来的校验码,所以可以在一定程度上减少误输入的可能。 此文件包含身份证、19位银行卡号码校验,年龄提取,性别提取的公式。 使用方式,非常简单,打开此文件,...
正则表达式验证身份证号码 共两个验证 一个是简单的 只判断是不是15位或者18位, 另外一个方法是复杂的校验,严格判断身份证号码是否合理
身份证js强校验,简单实用,直接可以测试。
本文主要介绍了身份证号的组成规则,如何去校验身份证号,对正则表达式简单的制作了介绍。另外说了load()函数和post()函数的使用方法,另外说明了完整的ajax()技术。
VB编写的身份证校验程序,可以校验身份证号码的正确性
比如,校验身份证号是否合法。下面一段简单的代码就能瞬间解决问题啦! StringUtils.java /** * 身份证号校验 * * @param idCard * @return */ public static boolean isIdCardNum(String idCard) { String...
以下是根据身份证号码编码规则,使用JS对其...dddddd yyyymmdd xxx y * dddddd:地区码 * yyyymmdd: 出生年月日 * xxx:顺序类编码,无法确定,奇数为男,偶数为女 * y: 校验码,该位数值可通过前17位计算获得 * <p
15位18位身份证 严格验证 还有身份证 很简单的demo 一看就懂。
身份证为15位或者18位,15位的全为数字,18位的前17位为数字,最后一位为数字或者大写字母”X“。 与之匹配的正则表达式: (^\d{15}$)|(^\d{17}([0-9]|X)$) 下面以Javascript为例...alert('输入的身份证号长度不对,
身份证验证javascript验证方法,支持18位和15位身份证校验,算法简单。支持x校验位
对于其它的语言也有不少的身份证验证了,这里的代码效果更简单
主要介绍了jquery插件validation实现验证身份证号、护照、电话号码、email十分的简单实用,有需要的小伙伴可以参考下。
没事做的一个小工具,输入身份证号码可以简单验证是否正确,同事可以读取出前6位所在的区县,和生日,以及性别
开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单、效率最高的方式了,下面就来看看15/18位身份证号码验证的正则表达式吧。 介绍 xxxxxx yyyy MM dd 375 0 十八位 xxxxxx yy MM...
一、身份证号码的结构和表示形式 1、号码的结构 根据〖中华人民共和国国家标准GB11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为...
主要注意的是,目前的身份证分为16和18位,然后分别验证校验位,省份,生日即可。 主要类如下: 代码如下:/// /// 验证身份证号码类 /// public class IDCardValidation { /// /// 验证身份证...
主要介绍了基于javascript简单实现对身份证的校验的相关资料,需要的朋友可以参考下
js验证居民身份证,就这么简单,你懂得~