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 ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
Jun 10 Python
Python实现的摇骰子猜大小功能小游戏示例
Dec 18 Python
详解python分布式进程
Oct 08 Python
python tkinter组件摆放方式详解
Sep 16 Python
使用Python操作ArangoDB的方法步骤
Feb 02 Python
Python获取、格式化当前时间日期的方法
Feb 10 Python
详解Pycharm出现out of memory的终极解决方法
Mar 03 Python
Django更新models数据库结构步骤
Apr 01 Python
matlab中二维插值函数interp2的使用详解
Apr 22 Python
python交互模式基础知识点学习
Jun 18 Python
python爬取企查查企业信息之selenium自动模拟登录企查查
Apr 08 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
Jun 01 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
php session 检测和注销
2009/03/16 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
laravel中的fillable和guarded属性详解
2019/10/23 PHP
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
基于JQuery实现的Select级联
2014/01/27 Javascript
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
2015/10/09 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
layui分页效果实现代码
2017/05/19 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
了不起的11个JavaScript代码重构最佳实践小结
2021/01/11 Javascript
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
简单解析Django框架中的表单验证
2015/07/17 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
python批量图片处理简单示例
2019/08/06 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
日本食品网上商店:JaponShop.com
2017/11/28 全球购物
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
教师廉洁自律承诺书
2014/05/26 职场文书
质量提升方案
2014/06/16 职场文书
公务员检讨书
2014/11/01 职场文书
2014年质检员工作总结
2014/11/18 职场文书
2015年六年级班主任工作总结
2015/10/15 职场文书
在Python 中将类对象序列化为JSON
2022/04/06 Python