我正在使用以下正则表达式检查无效字符的名称字段...
if (!preg_match("/^[a-zA-Z ]*$/",$mystring))
有没有办法使用正则表达式检测字符串是否为空?或者我最好使用PHP做这件事?
答案 0 :(得分:1)
您可以在没有正则表达式的情况下进行简单检查:
if( $string == "") //do something
或
if(strlen($string) == 0) //do something
或
if(strlen(trim($string)) == 0) //do something
答案 1 :(得分:1)
或者,
<?php
$str = "\r\n\t\0 ";
if (trim($str) == "") {
echo "This string is blank";
}
修剪任何空格字符的字符串,包括一个或多个空格,然后将结果与空字符串进行比较,将检测到空白字符串。这里的优点是你只需要使用一个功能,即修剪。
当然可以一起使用trim()和strlen()来实现相同的结果,但这需要两个函数而不是一个函数。
使用strlen()而不修剪输入$ str可能会导致接受&#34;空白&#34;行,如下:
<?php
$content = 'Content: ';
$str = " \r\n\t\0 ";
if ( strlen( $str ) == 0) {
echo 'blank line',"\n";
}
else
{
$content .= $str;
}
echo $content;
通过不修剪任何空格字符的字符串,在这种情况下字符串长度为6,但是明显空白的$ str附加到$ content。