随机生成英文字母 php,PHP生成随机英文用户名
最近用wordpress来做英文的博客,需要虚构一些随机的英文用户名来冒充访客发表评论,因为对PHP不熟悉(压根没学过),只能在百度和google查找方法。办法有3个:
1、随机字母数字组合法
这个方法的思路:26个字母大小写 +10个数字(0~9) 随机组合成6到10个的字符串最为用户名,代码如下:
function random_user($len = 8)
{
$user = '';
$lchar = 0;
$char = 0;
for($i = 0; $i < $len; $i++)
{
while($char == $lchar)
{
$char = rand(48, 109);
if($char > 57) $char += 7;
if($char > 90) $char += 6;
}
$user .= chr($char);
$lchar = $char;
}
return $user;
}
调用方法(默认生成8个字符串):
生产的英文用户名如下:
4c3yXssf,6IG0bdfa,u5NDh5d3,spBhdgPn,49otf8ub,NE8zg2dS
缺点很明显:不靠谱,可读性差,一看就知道是代码生成的。
2、调用现成的API
这个思路也很简单,直接调用可以生成用户数据的API,当然前提是要有这种API才行。我google一下,还真给我找着了:
https://randomuser.me/api/
以json格式直接返回一个用户的各种信息,包括:姓名,性格,年龄,城市,邮箱,头像等等…. 。下面是返回的数据:
{"results":[
{
"gender":"female",
"name":{
"title":"miss",
"first":"frida",
"last":"christiansen"
},
"location":{
"street":"2087 oddenvej",
"city":"ulsted, hals",
"state":"danmark",
"postcode":33076
},
"email":"frida.christiansen@example.com",
"login":{
"username":"brownostrich869",
"password":"blacks",
"salt":"hnroL361",
"md5":"e77b5d194fa24307d94166fdb073489a",
"sha1":"1f7c5119845d31071035ba786cfd1829ca4188de",
"sha256":"37e202da9ee700e3b21a1260de0f2697f2a75357cacd6124e73eee39b21c0f05"
},
"dob":"1977-04-27 18:44:16",
"registered":"2014-12-11 11:11:29",
"phone":"97377508",
"cell":"04206356",
"id":{
"name":"CPR",
"value":"018563-3343"
},
"picture":{
"large":"https://randomuser.me/api/portraits/women/58.jpg",
"medium":"https://randomuser.me/api/portraits/med/women/58.jpg",
"thumbnail":"https://randomuser.me/api/portraits/thumb/women/58.jpg"
},
"nat":"DK"
}
],
"info":{
"seed":"9c5a7af03b97edcf",
"results":1,
"page":1,
"version":"1.1"
}
}
使用说明文档:
https://randomuser.me/documentation
如果使用python调用和处理这个API是没有问题的,但是对于php我就毫无头绪了,只能放弃这个方法。
思路可行,能力有限,日后再研
3、字典随机组合法
方法思路:找出外国人最常用的姓(Most Common Surnames),最常用的名(Most Common Male Names,Most Common Female Names),再随机组合成一个常用的英文用户名。
function random_user()
{
$male_names = array("James","John","Robert","Michael","William","David","Richard","Charles","Joseph","Thomas","Christopher","Daniel","Paul","Mark","Donald","George","Kenneth","Steven","Edward");
$famale_names = array("Mary","Patricia","Linda","Barbara","Elizabeth","Jennifer","Maria","Susan","Margaret","Dorothy","Lisa","Nancy","Karen","Betty","Helen","Sandra","Donna","Carol","Ruth");
$surnames = array("Smith","Jones","Taylor","Williams","Brown","Davies","Evans","Wilson","Thomas","Roberts","Johnson","Lewis","Walker","Robinson","Wood","Thompson","White","Watson","Jackson");
$frist_num = mt_rand(0,19);
$sur_num = mt_rand(0,19);
$type = rand(0,1);
if($type==0){
$username=$male_names[$frist_num]." ".$surnames[$sur_num];
} else {
$username=$famale_names[$frist_num]." ".$surnames[$sur_num];
}
return $username;
}
这里使用了20个常用男性名,20常用个女性名,20个常用的姓来组合用户名,如果需要更多的数据可以看看这里:外国人最常用的100个姓,最常用的100个名。
调用的方法和上面是一样的,生成的英文用户名如下:
Mary Williams,Daniel Johnson,John Jones,Maria Evans,Donna Smith,Barbara Smith
可以看出这个方法生成的英文用户名很靠谱,可读性高,而且可生成数量众多(20*20+20*20 共800个)。最后我也是使用了这个函数。
这个三个方法的思路同样可用于生成中文用户名。
随机生成英文字母 php,PHP生成随机英文用户名相关推荐
- 输入一个大写英文字母,输出小写英文字母;输入一个小写英文字母输出一个大写英文字母
题目:编写程序,从键盘输入一个英文字母.如果是大写字母,则输出它对应的小写字母:如果是小写字母,则输出它对应的大写字母. 题目来源c语言程序设计第二版电子科技大学出版社P90编程题t2 对于转换字母大 ...
- 正则表达式: 以英文字母开头,只能包含英文字母、数字、下划线
//以英文字母开头,只能包含英文字母.数字.下划线 ^[a-zA-Z][a-zA-Z0-9_]*$ //只能包含英文字母.数字.下划线 ^[a-zA-Z0-9_]+$ //过滤非法字符 [@/'&qu ...
- python电话号码转换英文字母_用python实现英文字母和相应序数转换的方法
第一步:字母转数字 英文字母转对应数字相对简单,可以在命令行输入一行需要转换的英文字母,然后对每一个字母在整个字母表中匹配,并返回相应的位数,然后累加这些位数即可.过程中,为了使结果更有可读性,输出相 ...
- 英文字母html,利用HTML5实现英文字母ABCD动画特效
特效描述:利用HTML5实现 英文字母 ABCD 动画特效.利用HTML5实现英文字母ABCD动画特效 代码结构 1. HTML代码 function foreach(array, callback) ...
- android8.0大写英文字母,Android EditTextView 设置输入英文字母全部大写
1. EditTextView 继承自TextView 2. TextView 下面有一个方法 :setTransformationMethod,这个方法接受参数类型为: Transformation ...
- 输出英文字母,字符串中所有英文字符
Description 给定一个字符串,将字符串中的所有英文字母找出并输出. Input 若干组数据,每组数据只有一个字符串. Output 字符串中所有英文字符. Sample Input abc1 ...
- c语言统计英文字母频率,C语言实现英文文本词频统计
这几天写了一个基于C语言对文本词频进行统计的程序,开发及调试环境:mac集成开发环境Xcode:测试文本,马丁.路德金的<I have a dream>原文演讲稿. 主要运行步骤: 1. ...
- 用户名只能含有英文字母php,新增用户提示“『用户名』只能是字母和数字的组合三位以上。”...
新增用户提示"『用户名』只能是字母和数字的组合三位以上." 我们原来系统里面,部分用户名是两个字母的,为了新老系统对接,新建立账号也必须要是两位的,但是会提示这个. ======= ...
- Java黑皮书课后题第4章:4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母
4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母 题目 题目概述 破题 生成随机数 随机数与大写字母之间的转换:ASCII 转化为char型 代码 题目 题目 ...
最新文章
- Linux那些事儿 之 戏说USB(19)设备的生命线(二)
- Vivado各个过程产生的文件与ISE的对比
- 9岁印度女孩成为最年轻微软认证专家
- CentOS系统安装桌面
- [译]HTMLCSS Lesson2: 了解HTML
- 完全卸载ORACLE9i
- 树莓派AI视觉云台——4、树莓派的登录控制方式
- ActiveMQ:了解内存使用情况
- 如何把meshlab中的圆环去掉_MeshLab中配准点云
- java程序包r不存在_java - 从命令行使用Gradle构建时,“程序包R不存在”错误 - 堆栈内存溢出...
- mysql 8.0.3 rc_MySQL 8.0.3 RC 版即将发布,看看有哪些变化
- 手机android的文件怎么恢复,手机文件误删除怎么恢复-互盾安卓恢复大师
- 关于穿透冰点还原等还原软件的方法
- 问题 C: 逃离机场
- 硬件选型之如何看光耦器件的开关频率
- 通过Python爬虫技术获取小说信息
- 对随机数去重并进行排序 java
- iOS 苹果开发者账号协议和付费条款同意过程
- Openzeppelin库 09.Crowdsale
- 分子力场简介 来自wiki百科
热门文章
- pytorch tensor 初始化_Pytorch - nn.init 参数初始化方法
- 【STL容器讲解—deque】
- IoT DDoS警报系统是如何帮助我们预测网络攻击的?
- android 电量性能优化
- 软件设计师认证 -如何画数据流图
- 待办日程用什么软件好 2022好用的便签记事日程管理软件推荐
- html实现在线聊天,利用HTML5实现电脑端微信聊天窗口界面
- 为什么用python画图_怎么用python画图
- MT7603处理器性能,MT7603 wifi芯片介绍
- MATLAB读视频报错 Unable to initialize the video obtain properties (videoreader in Matlab)