Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >手机号码生成器的实现过程

手机号码生成器的实现过程

原创
作者头像
用户9828134
发布于 2022-06-14 17:50:08
发布于 2022-06-14 17:50:08
1.4K03
代码可运行
举报
运行总次数:3
代码可运行

手机号码是有11位数字组成,因此在生成手机号码以前咱们先来看一看怎样经过函数生成字符串。如果你看不懂下面的代码,那么你在电脑浏览器上搜索一下,海豚号码生成器,有现成的,直接使用,简单方便。

------------------------------------

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DELIMITER $$
CREATE FUNCTION rand_num(n int) RETURNS VARCHAR(255)
BEGIN
    DECLARE chars_str varchar(20) DEFAULT '0123456789';
    DECLARE return_str varchar(255) DEFAULT '';
    DECLARE i INT DEFAULT 0;
    WHILE i < n DO
        SET return_str = concat(return_str,substring(chars_str , FLOOR(1 + RAND()*10 ),1));
        SET i = i +1;
    END WHILE;
    RETURN return_str;
END $$
DELIMITER ;

MySQL的随机函数rand()返回的是一个float类型的数字n,n的取值范围是0<=n<1。值得注意的是能取到0可是不能取到1。数组

显然上面的rand()*10+1的取值范围为[1,11),能取到1可是不能取到11,内置函数floor的做用是向下取整。因此floor(rand()*10+1)的取值范围为[1,10]。函数

由于MySQL中没有内置数组,因此咱们用字符串来模拟,首先来看内置函数substring(str,x,y)是表示在字符串str中从x位置开始,截取长度为y的字符串。X从1开始。测试

内置函数concat(str1,str2,…strn)的做用是把字符串str1到strn拼接成一个字符串。因此上面的函数不难理解。就是每次循环从’0123456789’这10个数字中随机截取一个数字拼接在咱们要返回的字符串中。参数n表示拼接字符串的长度。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import random

list_1 = ["134", "135", "136", "137", "138", "139", "147", "150", "151", "152", "157", "158", "159", "172", "178",
          "182", "183", "184", "187", "188", "198"]  # 中国移动号码段

list_2 = ["130", "131", "132", "145", "155", "156", "166", "171", "175", "176", "185", "186"]  # 中国联通号码段

list_3 = ["133", "149", "153", "173", "177", "180", "181", "189", "191", "199", "193"]  # 中国电信号码段

num = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]  # 存放0-9数字,号码的4-11位从这里取

phone_all = list()  # 存放全部生成的电话号码
phone_output = list() # 存放去重后的电话号码


def create_phone(count, choice): # 参数1为生成号码的个数,参数2为运营商选择
    for t in range(count):
        phone = random.choice(choice) + "".join(random.choice(num) for i in range(8))  #使用random函数生成电话号码
        if phone not in phone_all:  # 判断该电话号码是否是出现过
            phone_output.append(phone)  # 没出现则放到phone_output
        phone_all.append(phone) # 把生成的每一个号码都存起来,用去去重比对
    print(phone_output)  # 打印去重后的电话


if __name__ == '__main__':
    create_phone(10, list_3)

import java.util.Random;

/** * Created by Administrator on 2017/5/25. *

/ public class Test

{ public static void main(String[] args)

{ for (int i = 0; i < 9; i++)

{//9表明循环九次,产生九个随机号码 String number = "139";

//定义电话号码以139开头 Random random = new Random()

;//定义random,产生随机数 f

or (int j = 0; j < 8; j++)

{ //生成0~9 随机数 number += random.nextInt(9); }

System.out.println(number);//输出一个电话号码 }

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
手机号码生成器是怎么做的
作测试,常常会遇到随机生成手机号码的案例,例如要求手机号生成的惟一性,就会须要每次生成不一样的随机手机号码。
用户9828134
2022/06/16
1.8K0
MySQL如何快速生成千万数据量?
在我们平时工作或学习的过程中,有时需要在数据库中生成大量的测试数据,这个时候,我们可以利用mysql内存表插入速度快的特点,先利用函数和存储过程在内存表中生成数据,然后再从内存表插入普通表中。经过我的测试,这种方案插入数据是非常快的。
公众号 IT老哥
2020/09/16
4K0
MySQL如何快速生成千万数据量?
python小工具-电话号码生成器
在测试某个系统时经常会用到手机号码,但是有时一个手机号使用后就不能再次使用了,经常要想一些可用的手机号,如18888888888等等,每次想手机号也挺麻烦的,所以这次想着做一个生成手机号的小工具。
冰霜
2022/03/15
3.2K0
python小工具-电话号码生成器
MySQL自动生成大量数据
创建随机数字生成 DELIMITER $$ CREATE DEFINER=`root`@`%` FUNCTION `random_num`( ) RETURNS int(5) BEGIN   DECLARE i INT DEFAULT 0;   SET i = FLOOR(100+RAND()*10);  RETURN i;   END$$ DELIMITER ;
星哥玩云
2022/08/18
2.3K0
使用MySQL储存过程批量插入数据
#数据表的结构为stu_id(学号) ,stu_name(姓名),stu_sex(性别),cla_id(班级编号),stu_phone(手机号)
程序猿的栖息地
2022/04/29
2.6K0
电话号码生成脚本优化:剔除曾经出现过的数据
之前有写过一个生成电话号码的脚本,主要是因为当时在测的一个项目,需要用到大量的新手机号
冰霜
2022/03/19
5130
电话号码生成脚本优化:剔除曾经出现过的数据
Mysql存储过程代码例子
--定义一个新的命令结束符号,默认的是以;为结束标记 --同样的可以通过delimiter ;再设置;为结束标记 delimiter $$ --删除函数rand_string drop function rand_string $$ --创建函数rand_string(n):随机产生n个字符组成的字符串 create function rand_string(n INT) returns varchar(255) begin declare chars_str varchar(100)default 'a
用户8983410
2021/11/01
7570
如何生成1亿个手机号码?Python生成随机数的22种方法,random函数太强了~
我第一眼看到的时候心想,这个还不简单?直接random.randint(1,999999999999)就完事了。
程序员晚枫
2022/07/01
2K2
如何生成1亿个手机号码?Python生成随机数的22种方法,random函数太强了~
MySQL函数&存储过程
上一篇文章中说到了定位慢sql,拿到了慢sql后,我们要怎么重现问题呢?那么就需要造数据。函数和存储过程就可以帮助我们造大量的数据,用来重现生产环境的问题。
贪挽懒月
2021/06/02
2.7K0
MySQL函数&存储过程
Mysql生成大量测试数据
set max_heap_table_size=400000000; # 默认16777216 set global innodb_flush_log_at_trx_commit=0; 创建测试表 CREATE TABLE `__test_t1` ( `id` BIGINT (20) NOT NULL AUTO_INCREMENT, `c1` VARCHAR (20) NOT NULL, `c2` INT (11) NOT NULL, `c3` datetime NOT NU
mingjie
2022/05/12
1.4K0
Mysql--批量插入数据脚本
批量插入数据脚本 前置知识 创建一个随机产生字符串的函数rand_string(int); 创建一个随机产生一个数字的函数rand_num() 创建存储过程 调用存储过程 ---- 前置知识 CEILING 函数返回大于或等于所给数字表达式的最小整数。FLOOR 函数返回小于或等于所给数字表达式的最大整数 FLOOR 和 CEILING 返回值的数据类型都与输入的数字表达式的数据类型相同。 select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558, s
大忽悠爱学习
2021/11/15
3.2K0
mysql数据库批量插百万数据_sql数据库怎样批量添加数据
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
3.7K0
随机生成手机号码
下面是纯代码,复制粘贴适当更改一下路径即可使用。 import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.HashSet; import java.util.Random; import java.util.Scanner; public class Test02 { private static String[] str={"180","18
芈亓
2022/06/17
8460
快速生成测试数据以及 EXPLAIN 详解
索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的 IO 成本。MySQL 在 300w 条记录左右性能开始逐渐下降,虽然官方文档说 500~800w 记录,所以大数据量建立索引是非常有必要的。MySQL 提供了 EXPLAIN,用于显示 SQL 执行的详细信息,可以进行索引的优化。使用 EXPLAIN 关键字可以模拟优化器执行 SQL 查询语句,从而知道 MySQL 是如何处理你的 SQL 语句的,分析你的查询语句或是表结构的性能瓶颈。可以帮助选择更好的索引和写出更优化的查询语句。
BUG弄潮儿
2021/04/12
1.5K0
Python 帮你批量生成手机号码
平时在工作过程中,偶尔会需要大量的 手机号码,去测试一些具体的业务功能,为了保证测试的有效性,手机号码的 真实性 尤为的重要。
AirPython
2020/03/23
2.2K0
Python  帮你批量生成手机号码
MYSQLg高级------批量插入百万级数据量
上面的作用就是为了下的 $$ (函数;的表达式)更好的执行;重启或者重新连接即可恢复默认
默 语
2024/11/20
630
MYSQLg高级------批量插入百万级数据量
MySQL批量插入测试数据的几种方式
在开发过程中我们不管是用来测试性能还是在生产环境中页面展示好看一点, 又或者学习验证某一知识点经常需要一些测试数据, 这个时候如果手敲的话, 十行二十行还好, 多了就很死亡了, 接下来介绍两种常用的MySQL测试数据批量生成方式
终有救赎
2023/12/14
6820
MySQL批量插入测试数据的几种方式
mysql批量数据脚本
mysql批量数据脚本 1 建表 create table dept( id int unsigned primary key auto_increment, deptno mediumint unsigned not null default 0, dname varchar(20) not null default "", loc varchar(13) not null default "" )engine=innodb default charset=gbk; create tabl
MonroeCode
2021/12/28
1.9K0
js最新手机号码、电话号码正则表达式
js最新手机号码、电话号码正则表达 正则表达式(regular expression)是一个描述字符模式的对象。使用javascript正则表达式可以进行强大的模式匹配和文本检索与替换功能。 手机号码正则表达式验证。 function checkPhone(){ var phone = document.getElementById('phone').value; if(!(/^1[3|4|5|7|8]\d{9}$/.test(phone))){ alert("手机号码有
用户1219438
2018/02/01
29.6K0
mysql 快速生成百万条测试数据
1、生成思路 利用mysql内存表插入速度快的特点,先利用函数和存储过程在内存表中生成数据,然后再从内存表插入普通表中 2、创建内存表及普通表 CREATE TABLE `vote_record_memory` (     `id` INT (11) NOT NULL AUTO_INCREMENT,     `user_id` VARCHAR (20) NOT NULL,     `vote_id` INT (11) NOT NULL,     `group_id` INT (11) NOT NULL,  
96php.cn
2018/04/28
3.5K3
mysql 快速生成百万条测试数据
相关推荐
手机号码生成器是怎么做的
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验