如何从提供的电子邮件地址创建用户名 - PHP

4 php email extract username

我的网站上有一个注册页面,用户必须只提供电子邮件地址和密码.

我希望能够使用提供的电子邮件的第一部分自动为该用户创建用户名;

用户提供gordon @ yourdomain.com,我想创建用户名'gordon'

我不需要解释如何创建表单或向数据库提交数据,只需要从提供的电子邮件中提取数据的代码,如果需要,如果发生重复,则添加数字以结束.

希望这是有道理的,看起来像一个基本的功能,但无法在网上任何地方找到它的例子!

mat*_*pie 13

这不是一个好主意,只需使用他们的完整电子邮件地址.以下电子邮件地址可能是不同的人,但在您的系统下它们将变为相同.

samename@gmail.com
samename@yahoo.com
Run Code Online (Sandbox Code Playgroud)

在最后添加一个数字将使用户记住您的系统特有的东西,并导致他们最终的混乱.

  • 然后你应该付出额外的努力让用户选择一个用户名; 无论如何,你将需要检查冲突 (2认同)

C. *_*ppa 5

同意,您正在将必要的唯一ID剥离为非唯一ID.除非你想添加某种处理来为用户名或其他东西添加一个数字.如果这是你真正想做的事情,那么应该在电子邮件地址之前设置$ username:

<?php
   $username = preg_replace('/([^@]*).*/', '$1', $email);
?>
Run Code Online (Sandbox Code Playgroud)