现在我正在检查字符串是空的还是有空格。到目前为止,这是我的代码,它的工作原理。
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的工作,我检查字符串是否为空,另一个是我检查字符串是否有空格的地方。
现在我想检查字符串是否有任何特殊字符,但我不知道如何为该场景形成正则表达式。请有人帮帮我。
这个项目的一个小背景是,这是我将为帮助台插入标签的地方,标签可以是这样的词:
-internet -连接 -无线 -路由器 -IE浏览器 -谷歌浏览器 -firefox
等
编辑:
通过特殊字符,我指的是字母表之外的所有内容。只允许A-Z,a-z。
答案 0 :(得分:4)
您可以使用以下条件:
preg_match('/[^A-Z]/i',$tagName);
已移除\s
,因为[^A-Z]
还包含空格。
答案 1 :(得分:0)
如果您只需要允许A-Z
和a-z
,那么使用ctype可能是更好的选择:
if(!ctype_alpha($tagName)){
// fail...
}