首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

校验身份证号码

之前在做项目的时候遇到了需要校验身份证号码,最初始的想法就是校验一下是否数字还有就是校验长度,后来想到有的身份证号的最末尾数字是X,于是又加入了一层判断末尾数为X的判断。...写好以后总是感觉不对劲,因为之前写校验手机号的就能校验一下大致的真伪,但是现在写的身份证校验根本就算不上是校验。...于是就在网上搜了一下,发现身份证号码是有规律和算法的,下面来看一下 根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成... 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 有了上面的算法就产生了如何利用js来校验身份证号码的算法了...cardid[i] * first[i]; } var result = sum % 11; var last = stard[result]; //计算出来的最后一位身份证号码

2.6K32

身份证号码校验算法

1、数字含义 中国大陆第二代身份证号码由18位数据或字母组成,每位数据都有特定的含义,结果如下: 每组数字都有不同的含义: 第1至2位数字代表所在省(直辖市、自治区)的代码; 第3至4位数字代表所在地级市...也就是说身份证号码不是随便产生的,它是用来检验身份的正确性。在没有全国个人身份证信息库时。可以通过检验码来校验身份证的正确性。...校验码由0-9的数据和字母X组成,其实X表示10(这并不是英文字母X,而是希腊数字10的缩写)。是由号码编制单位按统一的计算公式计算出来的,校验身份证号码正确性也是通过这个公式实现。...计算出S后再用S对11取余,根据余数确定校验位数字,对照表如下: 比如例子中的身份证号计算出来的S为189,对11取余结果为2,查表2对应的校验码为X,所以该身份证号最后一位应该为X。...= 18: raise TypeError(u'请输入标准的第二代身份证号码') check_num = 0 for index, num in enumerate(num_str

3.2K90
您找到你想要的搜索结果了吗?
是的
没有找到

用Python写一个身份证号码校验系统

这是一个用Python开发的GUI实战项目:居民身份证信息校验系统 一、总体介绍 本项目使用Tkinter作为GUI模块,充分利用Python面向对象的思想,开发一款实现身份证号码校验的应用程序。...以上,如果我们输入一个正确的身份证号码,系统可以正常解析;但是篡改其中一位的话,校验结果直接显示无效;如果少输入一位的话,系统会提示“请输入18位”。 二、认识身份证号码 身份证号码的构成如下: ?...检查校验码 (1) 对身份证号码进行切片 首先我们把获取到的身份证号码分成地区码、生日码、顺序码、校验码,四个部分,存储在列表id_list[]中。...身份证号码输入位数不足的情况 情况二:最后一位校验位错误(本来是7我们故意输入8) ? 身份证号码最后一位故意输错的情况 情况三:输入正确的身份证号码的情况 ?...输入正确的身份证号码的情况 最后 本项目利用Tkinter开发了一个身份证号码校验系统,能够识别用户输入的身份证号码的有效性,并且解析身份证号码的地区、出生日期、性别等有效信息,感兴趣的小伙伴可以直接后台私信

2.8K50

SpringBoot--数据校验(普通校验、分组校验

作者:吴声子夜歌 原文链接:https://blog.csdn.net/cold___play/article/details/104209719 普通校验 普通检验是基础用法,非常容易,首先需要用户在...SpringBootWeb项目中添加数据校验相关的依赖: org.springframework.boot...,紧接着的BindingResult参数表示在校验出错时保存的出错信息。...分组校验 有的时候,开发者在某一个实体类中定义了很多校验规则,但是在某一次业务处理中,并不需要这么多校验规则,此时就可以使用分组校验: 首先创建两个分组接口: public interface ValidationGroup1...分组的校验规则,即只校验邮箱地址是否为空、用户地址是否为空 @PostMapping("/user") public List addUser(@Validated(ValidationGroup2

1.5K10

mysql中的字符集和校验规则

2mysql中支持的字符集 MySQL支持很多字符集,以我本地的字符集为例,使用show charset;命令查看当前服务器支持的字符集,结果如下: mysql--dba_admin@127.0.0.1...03 校验规则 字符集的校验规则,指的是字符集比较大小的时候依据的准则,比如我们比较a和B的大小,如果不考虑大小写,那么aB,也就是说,同一字符集,不同的比较规则,对某列数据的排序结果也就会产生不同...MySQL中的字符校验规则可以通过show collation;语法来查看,如下: mysql--dba_admin@127.0.0.1:(none) 23:00:36>>show collation;...default列的值是yes,就代表这个校验规则是该字符集的默认校验规则。...--dba_admin@127.0.0.1:(none) 23:12:57>> 在mysql中,字符集和校验规则分为4个级别,分别是服务器级别、数据库级别、表级别以及字段级别,这里我们分别举例子来看

2.3K10

小白学习MySQL - only_full_group_by的校验规则

ORA-00979: not a GROUP BY expression 其实这和一个校验规则相关,即only_full_group_by,该规则的核心原则如下,没有遵循原则的SQL会被认为是不合法的,...这里要提到的一个参数就是sql_mode,他存储的是MySQL应该支持的SQL语法,对数据的校验等,一些常见的值,如下所示, (1) ONLY_FULL_GROUP_BY 对于GROUP BY聚合操作,...如果未给出该模式,被零除时MySQL返回NULL。如果用到INSERT IGNORE或UPDATE IGNORE中,MySQL生成被零除警告,但操作结果为NULL。...在MySQL 5.7以上,sql_mode参数值是默认包含这个only_full_group_by校验规则的,但是在5.7以下,不包含此规则,如上的SQL,就是跑在5.5, show variables...5.7开始就默认支持校验规则only_full_group_by能看出,MySQL提高了校验强度,毕竟更严格的校验规则,才可能避免这些非常容易出现的错误。

40530

身份证号码验证算法

做项目的时候需要对拿到的数据进行“清洗”,比如剔除一些不可能存在的身份证号码。查阅了网上的身份证号码验证算法,自己也总结一下。...(一)18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。 ...4、校验码计算步骤 (1)十七位数字本体码加权求和公式  S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前17位数字的权求和  Ai:表示第i位置上的身份证号码数字值...  Y: 0 1 2 3 4 5 6 7 8 9 10  校验码: 1 0 X 9 8 7 6 5 4 3 2 (二)根据17位数字本体码获取最后一位校验码程序实例 public class...2.该程序可以剔除验证码不正确的身份证号码。 3.15位的身份证出生年份采用年份后2位,没有最后1位校验码。 4.完整的身份证18位,最后一位校验位可能是非数字。

2.4K60

身份证号码大 全_622628是哪里的身份证号码

7-8 查验身份证 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。...校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为: {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z...值与校验码M的值: Z:0 1 2 3 4 5 6 7 8 9 10 M:1 0 X 9 8 7 6 5 4 3 2 现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。...输入格式: 输入第一行给出正整数N(≤100)是输入的身份证号码的个数。随后N行,每行给出1个18位身份证号码。 输出格式: 按照输入的顺序每行输出1个有问题的身份证号码。...这里并不检验前17位是否合理,只检查前17位是否全为数字且最后1位校验码计算准确。如果所有号码都正常,则输出All passed。

91010

使用FME验证身份证号码

内容简介 本篇推送,将简单介绍一下怎么使用FME来验证身份证号码身份证号码 结构: 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。...4.校验码 根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。...校验码算法 将本体码各位数字乘以对应加权因子并求和,除以11得到余数,根据余数通过校验码对照表查得校验码。 加权因子: ? 校验码: ?...身份证号码验证 了解过身份证的组成以及验证规则之后,下面就要开始验证了。 验证方式 身份证号的验证,可以分为这么几个部分:1、地址码验证,2、出生日期验证,3、顺序码验证,4、校验码验证。...所以这个身份证号码是有问题的。 ? 验证码验证 根据身份证的验证码规则,需要将身份证的每一位乘上其加权因子,然后再与11取余,得到的余数再到对应的校验码表中,查找对应的校验码。

2.1K20
领券