Php 检查字符串是否同时包含空格或特殊字符
现在我正在检查字符串是空的还是有空格。到目前为止,这是我的代码,它是有效的Php 检查字符串是否同时包含空格或特殊字符,php,regex,Php,Regex,现在我正在检查字符串是空的还是有空格。到目前为止,这是我的代码,它是有效的 if(isset($_POST['newTagSubmit'])){ $tagName = $_POST['tagName']; if(empty($tagName)){ $_ErrorMessage = "<div class='alert alert-danger' id='errorBox'>"; $_ErrorMessage.= "<b&
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 explorer
-谷歌浏览器
-火狐
等等
编辑:
我所说的特殊字符是指字母表以外的所有字符。只允许A-Z,A-Z 您可以使用以下条件:
preg_match('/[^A-Z]/i',$tagName);
从[^A-Z]起删除的\s还包括空格。您可以使用以下条件:
preg_match('/[^A-Z]/i',$tagName);
已删除,因为[^A-Z]还包括空格。如果只需要允许A-Z和A-Z,使用可能是更好的选择:
if(!ctype_alpha($tagName)){
// fail...
}
如果您只需要允许A-Z和A-Z,在此处使用可能是更好的选择:
if(!ctype_alpha($tagName)){
// fail...
}
这可能是个愚蠢的问题,但是。。。特殊字符是什么意思?您可以使用类似于:if preg_match'/[:punct://',$tagName{。这不是一个准确的答案,因为您没有指定特殊字符的含义。根据单词列表的外观,您似乎需要/[^a-z\-]/这可能是一个愚蠢的问题,但是…你说的特殊字符是什么意思?你可以使用诸如:if preg_match'/[:punct://',$tagName{。这不是一个准确的答案,因为你没有指定特殊字符的含义。通过单词列表的外观,看起来你需要/[^a-z\-]//i片段代表什么?/i代表忽略大小写匹配。/i片段代表什么?/i代表忽略大小写匹配。