内爆用户的名字和姓氏.然后使用regex进行检查


implode users first- and last name. then check with regex

有一个小问题,但希望很容易解决!

我用$_POST发送$user_firstname和$user_lastname。然后我尝试将其中两个内爆来创建一个用户名,如下所示:

$arr = array($user_firstname,$user_lastname);
    $user_name  = implode(" ",$arr);

然后我想确保角色也是正确的。

当我只有一行用户名时,这很好:

(!preg_match('/^[a-z'd]{2,64}$/i', $user_name))

但现在我想要第一;姓氏,我认为这个正则表达式会起作用:

(!preg_match('/^[a-z]+( [a-z]+){2,64}$/i', $user_name))

我的应用程序给了我正确的错误,即用户名有错误。但是我需要正则表达式方面的帮助。

非常感谢您的帮助!

试试这个正则表达式:

(!preg_match('/^(?=.{2,64}$)([a-z'd]+'s[a-z'd]+)$/i', $user_name))

先行检查长度,然后有两个带有空格分隔符的字母数字集。