最近用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生成随机英文用户名相关推荐

  1. 输入一个大写英文字母,输出小写英文字母;输入一个小写英文字母输出一个大写英文字母

    题目:编写程序,从键盘输入一个英文字母.如果是大写字母,则输出它对应的小写字母:如果是小写字母,则输出它对应的大写字母. 题目来源c语言程序设计第二版电子科技大学出版社P90编程题t2 对于转换字母大 ...

  2. 正则表达式: 以英文字母开头,只能包含英文字母、数字、下划线

    //以英文字母开头,只能包含英文字母.数字.下划线 ^[a-zA-Z][a-zA-Z0-9_]*$ //只能包含英文字母.数字.下划线 ^[a-zA-Z0-9_]+$ //过滤非法字符 [@/'&qu ...

  3. python电话号码转换英文字母_用python实现英文字母和相应序数转换的方法

    第一步:字母转数字 英文字母转对应数字相对简单,可以在命令行输入一行需要转换的英文字母,然后对每一个字母在整个字母表中匹配,并返回相应的位数,然后累加这些位数即可.过程中,为了使结果更有可读性,输出相 ...

  4. 英文字母html,利用HTML5实现英文字母ABCD动画特效

    特效描述:利用HTML5实现 英文字母 ABCD 动画特效.利用HTML5实现英文字母ABCD动画特效 代码结构 1. HTML代码 function foreach(array, callback) ...

  5. android8.0大写英文字母,Android EditTextView 设置输入英文字母全部大写

    1. EditTextView 继承自TextView 2. TextView 下面有一个方法 :setTransformationMethod,这个方法接受参数类型为: Transformation ...

  6. 输出英文字母,字符串中所有英文字符

    Description 给定一个字符串,将字符串中的所有英文字母找出并输出. Input 若干组数据,每组数据只有一个字符串. Output 字符串中所有英文字符. Sample Input abc1 ...

  7. c语言统计英文字母频率,C语言实现英文文本词频统计

    这几天写了一个基于C语言对文本词频进行统计的程序,开发及调试环境:mac集成开发环境Xcode:测试文本,马丁.路德金的<I have a dream>原文演讲稿. 主要运行步骤: 1. ...

  8. 用户名只能含有英文字母php,新增用户提示“『用户名』只能是字母和数字的组合三位以上。”...

    新增用户提示"『用户名』只能是字母和数字的组合三位以上." 我们原来系统里面,部分用户名是两个字母的,为了新老系统对接,新建立账号也必须要是两位的,但是会提示这个. ======= ...

  9. Java黑皮书课后题第4章:4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母

    4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母 题目 题目概述 破题 生成随机数 随机数与大写字母之间的转换:ASCII 转化为char型 代码 题目 题目 ...

最新文章

  1. Linux那些事儿 之 戏说USB(19)设备的生命线(二)
  2. Vivado各个过程产生的文件与ISE的对比
  3. 9岁印度女孩成为最年轻微软认证专家
  4. CentOS系统安装桌面
  5. [译]HTMLCSS Lesson2: 了解HTML
  6. 完全卸载ORACLE9i
  7. 树莓派AI视觉云台——4、树莓派的登录控制方式
  8. ActiveMQ:了解内存使用情况
  9. 如何把meshlab中的圆环去掉_MeshLab中配准点云
  10. java程序包r不存在_java - 从命令行使用Gradle构建时,“程序包R不存在”错误 - 堆栈内存溢出...
  11. mysql 8.0.3 rc_MySQL 8.0.3 RC 版即将发布,看看有哪些变化
  12. 手机android的文件怎么恢复,手机文件误删除怎么恢复-互盾安卓恢复大师
  13. 关于穿透冰点还原等还原软件的方法
  14. 问题 C: 逃离机场
  15. 硬件选型之如何看光耦器件的开关频率
  16. 通过Python爬虫技术获取小说信息
  17. 对随机数去重并进行排序 java
  18. iOS 苹果开发者账号协议和付费条款同意过程
  19. Openzeppelin库 09.Crowdsale
  20. 分子力场简介 来自wiki百科

热门文章

  1. pytorch tensor 初始化_Pytorch - nn.init 参数初始化方法
  2. 【STL容器讲解—deque】
  3. IoT DDoS警报系统是如何帮助我们预测网络攻击的?
  4. android 电量性能优化
  5. 软件设计师认证 -如何画数据流图
  6. 待办日程用什么软件好 2022好用的便签记事日程管理软件推荐
  7. html实现在线聊天,利用HTML5实现电脑端微信聊天窗口界面
  8. 为什么用python画图_怎么用python画图
  9. MT7603处理器性能,MT7603 wifi芯片介绍
  10. MATLAB读视频报错 Unable to initialize the video obtain properties (videoreader in Matlab)