毛豆丫 发表于 2015-11-10 12:06:48

这么拽

逗逼洋 发表于 2015-11-10 14:55:40

看一下

Johnwang522 发表于 2015-11-10 15:50:59

走过路过,看到好奇进来看看。

bottle_01 发表于 2015-11-11 07:15:11

赞一个,学习下

cabbageyang 发表于 2015-11-11 11:21:52

谢谢分享啊

奋斗品格 发表于 2015-11-12 11:48:46

崇拜,我是个新手小白,刚学了一天!

lianshitong 发表于 2015-11-13 13:31:14

import re
#Errors=['验证通过!','身份证号码位数不对!','身份证号码出生日期超出范围或含有非法字符!','身份证号码校验错误!','身份证地区非法!']
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)
   idcard=idcard.strip()
   idcard_list=list(idcard)
   #地区校验
    if(notarea[(idcard)]):
       print Errors
   #15位身份号码检测
   if(len(idcard)==15):
       if((int(idcard)+1900) % 4 == 0 or((int(idcard)+1900) %100 == 0 and (int(idcard)+1900) % 4 == 0 )):
         erg=re.compile('{5}{2}((01|03|05|07|08|10|12)(0||3)|(04|06|09|11)(0||30)|02(0|)){3})#//测试出生日期的合法性
       else:
         ereg=re.compile('{5}{2}((01|03|05|07|08|10|12)(0||3)|(04|06|09|11)(0||30)|02(0|1|2)){3})#//测试出生日期的合法性
       if(re.match(ereg,idcard)):
         print Errors
       else:
         print Errors
   #18位身份号码检测
   elif(len(idcard)==18):
       #出生日期的合法性检查
       #闰年月日:((01|03|05|07|08|10|12)(0||3)|(04|06|09|11)(0||30)|02(0|))
       #平年月日:((01|03|05|07|08|10|12)(0||3)|(04|06|09|11)(0||30)|02(0|1|2))
       if(int(idcard) % 4 == 0 or (int(idcard) % 100 == 0 andint(idcard)%4 == 0 )):
         ereg=re.compile('{5}19{2}((01|03|05|07|08|10|12)(0||3)|(04|06|09|11)(0||30)|02(0|)){3})#//闰年出生日期的合法性正则表达式
       else:
         ereg=re.compile('{5}19{2}((01|03|05|07|08|10|12)(0||3)|(04|06|09|11)(0||30)|02(0|1|2)){3})#//平年出生日期的合法性正则表达式
       #//测试出生日期的合法性
       if(re.match(ereg,idcard)):
         #//计算校验位
         S = (int(idcard_list) + int(idcard_list)) * 7 +(int(idcard_list) + int(idcard_list)) * 9 +(int(idcard_list) + int(idcard_list)) * 10 +(int(idcard_list) + int(idcard_list)) * 5 +(int(idcard_list) + int(idcard_list)) * 8 +(int(idcard_list) + int(idcard_list)) * 4 +(int(idcard_list) + int(idcard_list)) * 2 +int(idcard_list) * 1 + int(idcard_list) * 6 +int(idcard_list) * 3
         Y = S % 11
         M = "F"
         JYM = "10X98765432"
         M = JYM#判断校验位
         if(M == idcard_list):#检测ID的校验位
               print Errors
         else:
               print Errors
       else:
         print Errors
    else:
       print Errors

小丑丑 发表于 2015-11-13 14:09:39

学习了

takes1985 发表于 2015-11-14 00:01:47

牛逼

twjxddyjgb 发表于 2015-11-14 11:19:25

谢谢楼主的源码。

楚发髻 发表于 2015-11-14 11:43:59

不错哦

五道杠 发表于 2015-11-14 23:38:05

顶楼主

xzq 发表于 2015-11-18 12:01:18

不免回?

NewSong 发表于 2015-11-18 12:19:24

谢谢分享

grayhui 发表于 2015-11-18 13:54:50

学习中

chenjunlinghao 发表于 2015-11-18 16:51:17

新手来学习

雨天的渔人 发表于 2015-11-19 00:05:03

借鉴

bacon6581 发表于 2015-11-19 08:56:29

谢谢楼主!

_xiao 发表于 2015-11-19 10:20:22

好东西

felx521 发表于 2015-11-23 00:34:39

good good study
页: 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25
查看完整版本: 新人天气查询程序,绝对可用