Python实现随机生成有效手机号码及身份证功能示例


Posted in Python onJune 05, 2017

本文实例讲述了Python实现随机生成有效手机号码及身份证功能。分享给大家供大家参考,具体如下:

中国那么大,人那么多,几乎人手一部手机。手机号码已经作为各大互联网站的注册账户。同样,身份证更是如此。以下是生成有效手机号码和身份证号。

身份证需要下载districtcode.txt文件

完整代码如下:

import os
import random
import datetime
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
DC_PATH = BASE_DIR + "districtcode.txt"
# 随机生成手机号码
def createPhone():
 prelist=["130","131","132","133","134","135","136","137","138","139","147","150","151","152","153","155","156","157","158","159","186","187","188"]
 return random.choice(prelist)+"".join(random.choice("0123456789") 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 = datetime.date.today()+datetime.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 ={'0':'1','1':'0','2':'X','3':'9','4':'8','5':'7','6':'6','7':'5','8':'5','9':'3','10':'2'} #校验码映射 
 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实现随机生成有效手机号码及身份证功能示例

Python 相关文章推荐
跟老齐学Python之数据类型总结
Sep 24 Python
Python浅拷贝与深拷贝用法实例
May 09 Python
如何在Python函数执行前后增加额外的行为
Oct 20 Python
利用python将图片转换成excel文档格式
Dec 30 Python
Python根据已知邻接矩阵绘制无向图操作示例
Jun 23 Python
python 列表中[ ]中冒号‘:’的作用
Apr 30 Python
Win10下python 2.7与python 3.7双环境安装教程图解
Oct 12 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
Feb 25 Python
Python如何实现邮件功能
May 27 Python
Python爬虫实例——爬取美团美食数据
Jul 15 Python
Python 如何实现访问者模式
Jul 28 Python
python numpy中multiply与*及matul 的区别说明
May 26 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 #Python
Python实现选择排序
Jun 04 #Python
Python使用pymysql小技巧
Jun 04 #Python
Python常见异常分类与处理方法
Jun 04 #Python
Python实现Linux的find命令实例分享
Jun 04 #Python
安装Python和pygame及相应的环境变量配置(图文教程)
Jun 04 #Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 #Python
You might like
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
围观tangram js库
2010/12/28 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
JS如何将UTC格式时间转本地格式
2013/09/04 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
javascript自动恢复文本框点击清除后的默认文本
2016/01/12 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
深入学习jQuery中的data()
2016/12/22 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
react结合bootstrap实现评论功能
2020/05/30 Javascript
nuxt 实现在其它js文件中使用store的方式
2020/11/05 Javascript
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
Python处理文本文件中控制字符的方法
2017/02/07 Python
Python求解任意闭区间的所有素数
2018/06/10 Python
Django中密码的加密、验密、解密操作
2019/12/19 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
extern在函数声明中是什么意思
2014/01/19 面试题
override和overload的区别
2016/03/09 面试题
大学生学习2014年全国两会心得体会
2014/03/12 职场文书
服务理念标语
2014/06/18 职场文书
优秀应届本科生求职信
2014/07/19 职场文书
销售活动策划方案
2014/08/26 职场文书
担保书范本
2015/01/20 职场文书
责任书格式
2015/01/29 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书