中国那么大,人那么多,几乎人手一部手机。手机号码已经作为各大互联网站的注册账户。同样,身份证更是如此。以下是生成有效手机号码和身份证号。
  身份证需要下载districtcode.txt这个文件:http://files.cnblogs.com/files/yicaifeitian/districtcode.rar

 BASE_DIR = os.path.dirname(os.path.dirname(__file__))
 DC_PATH = BASE_DIR  + "districtcode.txt"

 # 随机生成手机号码
 def createPhone():
     prelist=["]
     ") for i in range(8))

 # 随机生成身份证号
 def getdistrictcode():
     with open(DC_PATH) as file:
         data = file.read()
         districtlist = data.split('\n')
     for node in districtlist:
     #print node
         if node[10:11] != ' ':
             state = node[10:].strip()
         if node[10:11]==' 'and node[12:13]!=' ':
             city = node[12:].strip()
         if node[10:11] == ' 'and node[12:13]==' ':
             district = node[14:].strip()
             code = node[0:6]
             codelist.append({"state":state,"city":city,"district":district,"code":code})

 def gennerator():
     global codelist
     codelist = []
     if not codelist:
         getdistrictcode()
     id = codelist[random.randint(0,len(codelist))]['code'] #地区项
     id = id + str(random.randint(1930,2013)) #年份项
     da = date.today()+timedelta(days=random.randint(1,366)) #月份和日期项
     id = id + da.strftime('%m%d')
     id = id+ str(random.randint(100,300))#,顺序号简单处理 

     i = 0
     count = 0
     weight = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2] #权重项
     checkcode ={'} #校验码映射
     for i in range(0,len(id)):
         count = count +int(id[i])*weight[i]
         id = id + checkcode[str(count%11)] #算出校验码
         return id

 print createPhone()
 print gennerator()

  

Python 随机生成有效手机号码及身份证的更多相关文章

  1. python随机生成个人信息

    python随机生成个人信息 #!/usr/bin/env python3 # -*- coding:utf-8 -*- import sys import random class Personal ...

  2. Python随机生成验证码的两种方法

    Python随机生成验证码的方法有很多,今天给大家列举两种,大家也可以在这个基础上进行改造,设计出适合自己的验证码方法方法一:利用range Python随机生成验证码的方法有很多,今天给大家列举两种 ...

  3. 用python随机生成数据,再插入到postgresql中

    用python随机生成学生姓名,三科成绩和班级数据,再插入到postgresql中. 模块用psycopg2 random import random import psycopg2 fname=[' ...

  4. python随机生成手机号码

    一句话生成电话号码random.choice(['139','188','185','136','158','151'])+"".join(random.choice(" ...

  5. python 随机生成固定长度的字串

    from random import Random#随机生成4到20位的用户名def random_username(): username = '' chars = 'AaBbCcDdEeFfGgH ...

  6. python随机生成6位数验证码

    #随机生成6位数验证码 import randomcode = []for i in range(6):    if i == str(random.randint(1,5)):        cod ...

  7. python随机生成库faker库api详解

    # -*- coding: utf-8 -*- # @Author : FELIX # @Date : 2018/6/30 9:49 from faker import Factory # zh_CN ...

  8. python随机生成字符

    Python2: Unicode是一种通用的编码方式,不论是英文字母.汉字.日语还是其他文字都能够对应一个唯一的Unicode编码(序号). chr(100) # 得到整数对应的ascii码(小于25 ...

  9. python 随机生成用户名、密码、手机号码

    #!C:\Python #!/usr/bin/env python #-*- coding:utf-8 -*- import string import random minlength = 6 ma ...

随机推荐

  1. 一个web应用的诞生(11)--列表分页

    上章的结束,若在实际开发过程中,会发现一个问题,那就首页或关注分享,是一下子按时间顺序全部显示出来,这在实际项目中不可能出现的,想想实际中的产品是如何做的? 一般来说,无非是两种,一种是使用页码,来进 ...

  2. JavaScript 格式化时间

    //格式化 yyyy-MM-dd hh:mm:ss function renderTime(date) { if (date == '' || date == null) { return ''; } ...

  3. JS取消浏览器文本选中的方法

    一 .问题的出现 今天在使用Easy-UI 的messager.alert()方法时候出现浏览器文本被选中,不知道其中是什么原因,如下图所示. 二 .解决思路 我最后的思路时在弹出消息框的同时,取消浏 ...

  4. Elasticsearch实现类似 like '?%' 搜索

    在做搜索的时候,下拉联想词的搜索肯定是最常见的一个场景,用户在输入的时候,要自动补全词干,说得简单点,就是以...开头搜索,如果是数据库,一句SQL就很容易实现,但在elasticsearch如何实现 ...

  5. 一条SQL搞定信息增益的计算

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 周东谕,2011年加入腾讯,现任职于腾讯互娱运营部数据中心,主要从事游戏相关的数据分析和挖掘工作. 信息增益原 ...

  6. Ubuntu搭建ssh连接(连接方式:桥接网卡、网络地址转换(NAT))

    操作系统:Ubuntu Server 16.04.2 SSH软件:Putty(远程连接工具,视本机操作系统选择对应版本的putty) --------------------------------- ...

  7. pl/sql 笔记之存储过程、函数、包、触发器(下)

    一.存储过程.存储函数   1.What's This? ①.ORACLE 提供可以把 PL/SQL 程序存储在数据库中,并可以在任何地方来运行它.这样就叫存储过程或函数. ②.存储过程.存储函数的唯 ...

  8. CSS空白符处理!

    在CSS中有一个非常重要但对于初学者又非常容易忽略的属性: white-space:nowrap; //文本不换行属性 这里附带说一下W3Cschool中对white-space的解释: white- ...

  9. mac终端ssh连接服务器 空闲的时候 连接断开

    ssh_config详解(MAC OSX) 方法1:MAC客户端配置 配置“/etc/ssh/ssh_config”文件 “/etc/ssh/ssh_config” 文件是OpenSSH系统范围的配置 ...

  10. git 设置不需要输入密码, 去除 fetch / pull 代码每次都需要输入密码的烦恼

    https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受https带来的极速 设置记住密码(默认15分钟): git config --global credenti ...