dps521 发表于 2015-11-28 11:54:03

guailai看看

yiwang123 发表于 2015-11-28 16:32:57

来看看

carasimon 发表于 2015-11-28 23:48:14

kankanshishayo~~~

wl113280 发表于 2015-11-29 21:36:11

这个怎么实现呢?

为了谁 发表于 2015-12-3 22:51:41

小甲鱼

雨花石66 发表于 2015-12-4 16:04:46

学习了

醉里簪花 发表于 2015-12-5 11:21:44

想看

lgx010330 发表于 2015-12-5 23:07:21

see

大袋鼠 发表于 2015-12-7 00:19:06

应该是正则匹配吧

枫凌宇 发表于 2015-12-7 13:48:19

学习学习

小云子墨 发表于 2015-12-7 13:56:04

过来学习楼主的分享

timma 发表于 2015-12-7 13:57:49

学习学习

郝斯文 发表于 2015-12-7 14:38:47

学习下~~

zqqldk 发表于 2015-12-7 17:15:47

一定要看一下

zqqldk 发表于 2015-12-7 18:27:11

看了这段代码我稍微改了一下,python3能用

import time

def checkIdcard(idcard):
    errors=['验证通过!','身份证号码位数不对!','身份证号码出生日期超出范围或含有非法字符!','身份证号码校验错误!','身份证地区非法!']
    area={"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":"国外"}
    idcard = str(idcard.strip())
    if idcard not in area:
      return errors
    if len(idcard) not in (15,18):
      return errors
    if (len(idcard)==15 and idcard.isdigit()==False) or (len(idcard)==18 and idcard.isdigit()==False):
      return errors
    if len(idcard)==15 and idcard.isdigit():
      birth = '19'+idcard
    if len(idcard)==18 and idcard.isdigit():
      birth = idcard
    try:
      checkBirth = time.strptime(birth,'%Y%m%d')
      if len(idcard)==15:
            return errors
      else:
            S = (int(idcard) + int(idcard)) * 7 +(int(idcard) + int(idcard)) * 9 +(int(idcard) + int(idcard)) * 10 +(int(idcard) + int(idcard)) * 5 +(int(idcard) + int(idcard)) * 8 +(int(idcard) + int(idcard)) * 4 +(int(idcard) + int(idcard)) * 2 +int(idcard) * 1 + int(idcard) * 6 +int(idcard) * 3
            Y = S % 11
            JYM = "10X98765432"
            M = JYM
            if M == idcard:
                return errors
            else:
                return errors
    except ValueError:
      return errors

id = input('请输入身份证:')
print(checkIdcard(id))

858900276 发表于 2015-12-8 12:28:44

这个真的可以好好学一下哎

xcxyxxjsx 发表于 2015-12-8 16:59:24

好利害。。。

hongwang 发表于 2015-12-8 17:26:51

看看LZ是如何实现的,多谢了!

墨痕YHZ 发表于 2015-12-9 11:38:16

学习一下

碎丶比 发表于 2015-12-9 19:04:00

看一下
页: 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25
查看完整版本: python实现身份证号码有效性验证