在我的程序中,我有一个帐户ID,我想创建一个用户名。它不能在其名称的开头包含数值,除非这些数值等于其帐户ID号。例如,如果我是卖家ID 44,并且我试图创建用户名"37verifier",这是不好的。但如果我尝试创建44Verifier,那么它是好的。如果我尝试创建"A37verifier",这也是可以的。并且在名称中只允许使用"@和.(dot)"特殊字符(如果是电子邮件id格式),在我的用户名中不允许使用其他特殊字符。
我如何在php脚本中做到这一点?请帮帮我。
使用正则表达式并检查用户名是否进行了检查。
假设我们已经有两个变量,$username
是要检查的字符串,$ID
是用户ID。
$regexp="/^(".$ID."|[a-z@'.]+)[a-z0-9@'.]+$/i";
if (preg_match($regexp,$username))
{
//... do something
}else{
die("Invalid username");
}
如果:,则匹配
- 用户名以用户ID开头
- 用户名以字母、句点或@字符开头
如果用户nae以不同于用户ID的数字开头,则这将不匹配。
但是,这不会检查所提供的username
是否是有效的电子邮件地址。