用正则表达式检测空白

时间:2014-12-05 00:18:19

标签: regex

我正在使用以下正则表达式检查无效字符的名称字段...

if (!preg_match("/^[a-zA-Z ]*$/",$mystring))

有没有办法使用正则表达式检测字符串是否为空?或者我最好使用PHP做这件事?

2 个答案:

答案 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。