Python实现自定义规则生成不重复手机号的方法

Nora
Nora
发布时间:2026-10-13 | 6人浏览过
原创

本文介绍如何使用Python生成符合特定规则的11位手机号。通过自定义前三位、中间四位地区码或后四位尾号,程序可生成指定数量的不重复手机号列表,适用于测试数据生成场景。

Python手机号生成功能概述

本文分享一个使用Python编写的手机号生成示例,供读者参考学习。

基于现有的手机号生成代码进行了优化,使其支持按特定规则生成手机号。

核心代码实现与逻辑解析


#!/usr/bin/python
# coding=utf-8
'''
1:随机生成11位手机号    2:只自定义地区(第4--7位)
3:只自定义尾号(第8--11位) 4:自定义后8位手机号
5:只自定义前3位
'''
import time,random
print __doc__
def moblieRandomcode(third=None,four=None,eight=None):
  rnum0 = random.randrange(0,10) # 手机号第3位
  rnum1 = random.randrange(0,1001) #手机号第4--7位
  four_4 = "0" * (4 - int(len(str(rnum1)))) + str(rnum1) #手机号第4--7位,前面补0
  rnum2 = random.randrange(0,1001) #手机号第8--11位
  eight_8 = "0" * (4 - int(len(str(rnum2)))) + str(rnum2)
  runm3 = random.choice("3578") #手机号第2位
  third_3 = "1" + str(runm3) + str(rnum0)
  if four:
    four_4 = four
  if eight:
    eight_8 = eight
  if third:
    third_3 = third
  moblienum = third_3 + four_4 + eight_8
  return moblienum
#生成固定数量不重复的手机号列表
def cishu(t=1):
  list_m = []
  while 1:
    num = moblieRandomcode(third,si,ba)
    list_m.append(num)
    list_m = list(set(list_m)) #去掉重复的手机号
    if len(list_m) == t:
      break
  return list_m
#生成规则
choice = int(raw_input("请选择:"))
if choice == 1:
  third = None
  si = None
  ba = None
elif choice == 2:
  third = None
  si = raw_input("请输入第4--7位:")
  ba = None
elif choice == 3:
  third = None
  si = None
  ba = raw_input("请输入第8--11位:")
elif choice == 4:
  third = None
  si = raw_input("请输入第4--7位:")
  ba = raw_input("请输入第8--11位:")
elif choice == 5:
  third = raw_input("请输入前三位:")
  si = None
  ba = None
t = int(raw_input("请输入需要生成多少个手机号:"))
list_m = cishu(t)
for i in range(0,len(list_m)):
  print i+1,"----",list_m[i]
print "共生成",len(list_m),"个不重复的手机号"

运行结果与交互示例

程序运行后的效果如下所示:

程序提供五种生成模式:1. 随机生成完整11位手机号;2. 仅自定义第4至7位(地区码);3. 仅自定义第8至11位(尾号);4. 自定义后8位数字;5. 仅自定义前3位号码。

用户选择模式1后,输入生成数量(例如3个),程序输出结果如:1 ---- 15602340044,2 ---- 15608590646,3 ---- 15201260001,并提示共生成了指定数量的不重复手机号。

相关工具与扩展资源

此外,推荐一款辅助工具供参考:

在线随机生成个人信息数据工具: http://tools.jb51.net/aideddesign/rnd_userinfo

更多关于Python的学习资源可查阅本站相关教程,包括《Python数学运算技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python正则表达式用法总结》。

希望上述内容对您的Python编程实践有所帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表