如何检查字母是字母还是数字?

gad*_*dss 7 php numbers letter

我有一个字符串,我想循环它,以便我可以检查每个字符是否是一个字母或数字.

$s = "rfewr545 345b";

for ($i=1; $i<=strlen($s); $i++){
   if ($a[$i-1] == is a letter){
      echo $a[$i-1]." is a letter";
   } else {
      echo $a[$i-1]." is a number";
   }
}
Run Code Online (Sandbox Code Playgroud)

如何检查字母是字母还是数字?

hsz*_*hsz 15

要测试字符is_numeric,请使用:

is_numeric($a[$i-1])
Run Code Online (Sandbox Code Playgroud)

如下:

$s = "rfewr545 345b";
for ($i = 0; $i < strlen($s); $i++){
   $char = $s[$i];
   if (is_numeric($char)) {
      echo $char . ' is a number';
   } else {
      echo $char . ' is a letter';
   }
}
Run Code Online (Sandbox Code Playgroud)

  • 不是每个不是数字的字母都是一封信!! (12认同)
  • 多字节字符呢? (2认同)

cod*_*ict 14

您可以使用:

ctype_digit

而ctype_alpha


Boa*_*oaz 6

使用正则表达式,您可以尝试以下操作。

测试一个数字

if (preg_match('/\d/', $char)) :
     echo $char.' is a number';
endif;
Run Code Online (Sandbox Code Playgroud)

测试“字母”

if (preg_match('/[a-zA-Z]/', $char)) :
     echo $char.' is a letter';
endif;
Run Code Online (Sandbox Code Playgroud)

这种方法的好处主要来自“字母”测试,它可以让您有效地定义“字母”字符的构成。在这个例子中,基本的英文字母被定义为“字母”。