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

Php 如何检查preg_match是否为False而不是True?,php,preg-match,Php,Preg Match,我有这个代码,确保用户名只有字母和数字。但是我的代码设置方式需要它检查preg\u match是否为false 现在上面写着“如果安全的话,就回应这个”。我需要它的逻辑说“如果不安全,说这个”。有人能帮我吗 if (preg_match('/[A-Z]+[a-z]+[0-9]+/', $username)) { echo 'Secure enough'; } 这就是为什么!接线员是给你的,所以说吧 if (!preg_match.....) 当然,这也是else子句的目的,无论哪种方

我有这个代码,确保用户名只有字母和数字。但是我的代码设置方式需要它检查
preg\u match
是否为
false

现在上面写着“如果安全的话,就回应这个”。我需要它的逻辑说“如果不安全,说这个”。有人能帮我吗

if (preg_match('/[A-Z]+[a-z]+[0-9]+/', $username))
{
    echo 'Secure enough';
}

这就是为什么!接线员是给你的,所以说吧

if (!preg_match.....)

当然,这也是else子句的目的,无论哪种方式,这都是基本编程,在问这些简单的问题之前,你需要阅读一本基本教程。

你可以这样否定条件:

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';
}
是否要确保字符串包含特殊字符,以便“足够安全”?或者您想确保它不包含特殊字符,以便在某些时候处理特殊字符时不会出现任何问题吗


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

您的意思是
}否则{echo'不够安全';}
?不,else语句已经在做一些事情了,我不确定你在问什么,因为那是else语句的目的
if($x){//do something if true}else{//do something if false}
回滚上一次编辑,因为OP编辑问题以显示接受的答案,而不是原始问题。现在它再次显示了所问的问题。else语句已经在做一些事情(进入下一步检查credintials)。我更新了我的代码,但它仍然说用户名无效。当我尝试使用您在上面看到的代码时,它仅使用字母。这允许我使用
注册用户名。您还需要确保正则表达式从开始(
^
)到结束(
$
)应用于字符串。更新了我的答案。这很有效,谢谢!你真的回答了我的问题。是的,这可能很简单,但仍然是个问题。谢谢,我仍然不明白你真正的问题是什么,但我很高兴这对你有用