首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查preg_match是否为假而不是真?

如何检查preg_match是否为假而不是真?
EN

Stack Overflow用户
提问于 2013-09-21 04:14:49
回答 2查看 73.1K关注 0票数 9

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

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

代码语言:javascript
复制
if (preg_match('/[A-Z]+[a-z]+[0-9]+/', $username))
{
    echo 'Secure enough';
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-21 04:18:48

你可以像这样否定这个条件:

代码语言:javascript
复制
if (!preg_match('/^[A-Za-z0-9]+$/', $username))
{
    echo 'Not secure enough';
}

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

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

编辑:

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

代码语言:javascript
复制
if (preg_match('/^[A-Za-z0-9]+$/', $username)) {
    echo 'Is only letters and numbers';
} else {
    echo 'Contains some other characters';
}

是否要确保字符串包含特殊字符,以使其“足够安全”?或者,您是否希望确保它不包含特殊字符,以便在某些时候处理特殊字符时不会出现任何问题?

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

票数 33
EN

Stack Overflow用户

发布于 2013-09-21 04:16:48

这就是为什么!运算符是for,所以就说

代码语言:javascript
复制
if (!preg_match.....)

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18925104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档