开发者社区> 方倍工作室> 正文

中华人民共和国公民身份号码校验

简介: source: http://zh.wikipedia.org/wiki/中华人民共和国公民身份号码 #!/usr/bin/python import re;#定义验证函数def IC_chk(ic_serial): #权重数组 iW = [7, 9, 10, 5, 8, 4, 2, ...
+关注继续查看

source: http://zh.wikipedia.org/wiki/中华人民共和国公民身份号码

#!/usr/bin/python

import re;

#定义验证函数
def IC_chk(ic_serial):
#权重数组
iW = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1];
#身份证号码中可能的字符
values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'x']
#使用正则表达式检测
icre = re.compile('^[1-9][0-9]{16}[x0-9]$', re.IGNORECASE);
m = icre.match(ic_serial);
if m:
pass;
else:
#不是合法的身份证号码,直接退出
return False;

S = 0;
for i in range(0,17):
S += int(ic[i]) * iW[i];

chk_val = (12 - (S % 11)) % 11;

return ic_serial[17].lower() == values[chk_val];

#测试验证函数
ic = raw_input("Please input IC serial: ");
if IC_chk(ic):
print "Correct IC Serial!";
else:
print "Wrong IC Serial!";

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
银行卡验证
银行卡 验证       public class CheckBankCard { /* * 校验过程: * 1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。
1351 0
身份证合法性验证
2015年10月14日 16:42:22 从网上扒的, 删掉了一小段无用代码, 修改了一行判断省份的代码 1 /* 2 * 身份证号验证(兼容15,18位) 3 */ 4 function checkIdentityCode($idcard) 5 { 6 $...
835 0
号码隐私保护,让用户数据更安全
在互联网时代,数据安全是用户的重中之重,号码隐私保护,让用户数据更安全,实时为用户安全护航。
4300 0
[信息安全] 4.一次性密码 && 身份认证三要素
在信息安全领域,一般把Cryptography称为密码,而把Password称为口令。日常用户的认知中,以及我们开发人员沟通过程中,绝大多数被称作密码的东西其实都是Password(口令),而不是真正意义上的密码。
2250 0
信用卡3D验证相关资料
3D 验证服务,是银行与VISA 、MASTERCARD国际组织联合推出的为保障银行维萨及万事达信用卡持卡客户网上交易安全,防范网上伪冒交易的一项信用卡网上支付安全验证服务( 维萨卡使用的验证服务叫“VERIFIED by VISA”简称“VbV”,万事达卡使用的验证服务叫“MasterCard SecureCode”) 。
1482 0
验证18位身份证号码
#! /usr/bin/python # -*- coding: utf-8 -*- def check_id_num(id_num): assert len(id_num) == 18 and id_num[:17].
569 0
身份证 验证
身份证验证     import java.text.ParseException; import java.text.SimpleDateFormat; import java.
1252 0
c# 版 18位身份证严格验证及 15位转18位
private string GetCard(string cid)        {            if (cid.
769 0
+关注
方倍工作室
CSDN博客技术专家。已出版《微信公众平台开发最佳实践》第一版、第二版及第三版,《企业微信公众平台开发实战》等书籍。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
从身份开始的零信任基础
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载