且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何检查preg_Match是否为False而不是True?

更新时间:2022-01-23 16:44:55

您可以这样否定该条件:

if (!preg_match('/^[A-Za-z0-9]+$/', $username))
{
    echo 'Not secure enough';
}

此外,如果您指的是"字母数字"(仅字母和数字)作为一个整体,则您的正则表达式需要为[A-Za-z0-9]+

如果用户名1)以大写字母(或多个)开头,2)后跟一个或多个小写字母,3)以一个或多个数字结尾,则代码中的正则表达式将匹配。

编辑:

我真的不确定这是不是你想要的。基本上,您可以做到:

if (preg_match('/^[A-Za-z0-9]+$/', $username)) {
    echo 'Is only letters and numbers';
} else {
    echo 'Contains some other characters';
}
是否要确保该字符串包含特殊字符以使其"足够安全"?还是要确保它包含特殊字符,以便在某些时候处理特殊字符不会有任何问题?

安全密码应包含特殊字符,虽然您可能不想强制执行此操作(取决于目标受众),但您通常希望您的系统支持密码中的特殊字符。