如何检查preg_Match()是否为False而不是True? [英] How can I check if preg_match() is False instead of True?

查看:0
本文介绍了如何检查preg_Match()是否为False而不是True?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

现在它显示&IF SECURE ECHO THO";。我需要它的逻辑说,如果不安全,就说这个。我该怎么做?

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

推荐答案

您可以这样否定该条件:

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';
}

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

这篇关于如何检查preg_Match()是否为False而不是True?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆