我需要使用核心php进行用户名验证的最佳正则表达式。我得到了很多表达,但没有一个能够奏效。
主要问题是用户名存在且没有插入号码。我需要使用上面提到的表达式来处理用户名。
答案 0 :(得分:3)
您可以使用preg_match
preg_match("/^(?=[A-Za-z])(?=.*\d)(?=.*[A-Z])(?=.*[a-z]).{6,32}/", $username);
(?=.*\d)
将验证至少有一位数。
(?=.*[A-Z])
验证至少有一个大写字符。
(?=.*[a-z])
验证至少有一个小写字符。
.{6,32}
验证字符串长度在6-32个字符之间。
答案 1 :(得分:0)
这个怎么样
$\S*(?=\S{6,})(?=\S*[a-z])(?=\S*[A-Z])(?=\S*[\d])\S*$
您可以按照以下示例进行试用
$username='Abc123';
$opt=array();
if (preg_match_all('$\S*(?=\S{6,})(?=\S*[a-z])(?=\S*[A-Z])(?=\S*[\d])\S*$',$username ,$opt))
{
echo 'true';
}
else
{
echo 'fail';
}