php - 检查字符串是否同时包含空格或特殊字符

标签 php regex

现在我正在检查字符串是否为空或有空格。到目前为止,这是我的代码并且它有效。

     if(isset($_POST['newTagSubmit'])){
    $tagName = $_POST['tagName'];
    if(empty($tagName)){
        $_ErrorMessage = "<div class='alert alert-danger' id='errorBox'>";
        $_ErrorMessage.= "<b>Error!</b> Por favor ingrese una etiqueta en el campo de texto proporcionado.";
        $_ErrorMessage.= "</div>";
    } else {
        if(preg_match('/\s/',$tagName)){
            $_ErrorMessage = "<div class='alert alert-danger' id='errorBox'>";
            $_ErrorMessage.= "<b>Error!</b> La etiqueta no puede contener espacios. Asegúrese de escribirla correctamente.";
            $_ErrorMessage.= "</div>";
        } elseif(/*code here*/){
            $_ErrorMessage = "<div class='alert alert-danger' id='errorBox'>";
            $_ErrorMessage.= "<b>Error!</b> La etiqueta no puede contener carácteres especiales. Cáracteres especiales son todos aquellos que no estan dentro del alfabeto. Por favor escríbala de nuevo.";
            $_ErrorMessage.= "</div>";
        }
    }
}

前两个 if 有效,一个是检查字符串是否为空,另一个是检查字符串是否有空格。

现在我想检查字符串是否有任何特殊字符,但我不知道如何为该场景形成正则表达式。有人可以帮我吗?

这个项目的一点背景是,我将在此处插入帮助台标签,标签可以是这样的单词:

-互联网 -联系 -无线的 -路由器 -IE浏览器 -谷歌浏览器 -火狐浏览器

等等

编辑:

我所说的特殊字符是指字母表之外的所有字符。只允许 A-Z、a-z。

最佳答案

您可以使用此条件:

preg_match('/[^A-Z]/i',$tagName);

删除了 \s,因为 [^A-Z] 还包含空格。

关于php - 检查字符串是否同时包含空格或特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20691446/

相关文章:

php - 在数据库中使用 ID

javascript - 发送每行表单的下拉值

java - 无效的 Java 正则表达式

regex - emacs regexp-builder 在 replace-regexp 中不起作用

php - SQL注入(inject)攻击如何使用无效密码登录Web应用程序?

php - 自动创建用于前端访问的 XML 文件的最佳实践?

c# - 如何在现有的字母数字验证表达式中允许 esc 序列字符

javascript - 用于密码验证的 RegEx,仅特定字符

javascript - 如何使用正则表达式搜索字符串并仅更改其中的一部分?

php - 在 Laravel 中从数据库中独特地选择列