PHP - 查找字符串是否仅包含空格而不包含任何其他内容

时间:2017-09-07 14:38:51

标签: php

如何确定字符串是否仅包含空格而不包含其他内容?这些空间的数量并不重要。

if () // $string contains ONLY whitespaces and nothing else   
{
// do something
}

最好能提供可以推广到任何角色的解决方案: 如何查找字符串是否仅包含某些字符而不包含任何其他内容

6 个答案:

答案 0 :(得分:4)

非正则表达式可能是:

empty(trim($string))

strlen($string) >= 1删除所有空格,然后检查字符串是否为空。 <f:field bean="loan" property="bank" > <g:select class="form-control" id="bank" name="bank.id" from="${banks}" optionKey="id" optionValue="companyName" value="${loan.bank.id}"/> </f:field> 确认字符串不是空的开头。如果还允许空字符串,则可以删除检查。

答案 1 :(得分:4)

最短的方法:

$s && !trim($s)
    只有当{li> $s不为空(包含任何内容)时,
  • True才会被评估为$s = " \t \n"; var_dump($s && !trim($s)); // true

测试:

$s = "";
var_dump($s && !trim($s));  // false
" " (ASCII 32 (0x20)), an ordinary space.
"\t" (ASCII 9 (0x09)), a tab.
"\n" (ASCII 10 (0x0A)), a new line (line feed).
"\r" (ASCII 13 (0x0D)), a carriage return.
"\0" (ASCII 0 (0x00)), the NUL-byte.
"\x0B" (ASCII 11 (0x0B)), a vertical tab.
关于空白的

实用信息

kops create cluster ...

答案 2 :(得分:2)

您可以使用正则表达式:

if (preg_match('/^\s*$/', $string)) { 
    // do something
}

此表达式验证字符串是否仅包含空格字符或根本不包含任何内容。要排除空字符串,请使用/^\s+$/

答案 3 :(得分:0)

试试这样:

if ( preg_match('/\s/',$mystring) )

答案 4 :(得分:0)

实现这一目标的方法有两种:快速和肮脏,真实; 快速的方式运行$ string中的每个字符并检查它:

$is_space=true;
for($i = 0; $i<strlen($string); $i++){
     if($string[$i]!==' '){
          $is_space=false;
     }
}

所以,如果$ is_space为true,那么你的字符串只包含空格;

第二种方式是regexp,你需要深入潜水http://php.net/manual/ru/function.preg-match.php, 你需要像那样的正则表达式

\S+

如果你找不到空白的smth,那么你只能在这个字符串中找到空格。

你需要检查字符串长度,有很多方法可以使用regexp来检查你需要什么。

答案 5 :(得分:0)

您可以使用正则表达式来检查字符串是否只包含空格。

if(preg_match('~\s*~', $string) ) {
       //do something...
  }

如果要检查单个空格,请使用相应的转义序列:

if(preg_match('~[\r\n]*~', $string) ) {
       //do something...
  }

您可以在link

了解有关正则表达式的更多信息