如何检查,如果一个PHPstring只包含英文字母和数字?

在JS中我使用这个代码:

if(string.match(/[^A-Za-z0-9]+/)) 

但我不知道,如何在PHP中做到这一点。

使用preg_match() 。

 if (!preg_match('/[^A-Za-z0-9]/', $string)) // '/[^az\d]/i' should also work. { // string contains only english letters & digits } 
 if(ctype_alnum($string)) { echo "String contains only letters and numbers."; } else { echo "String doesn't contain only letters and numbers."; } 

你可以使用preg_match()函数作为例子。

 if (preg_match('/[^A-Za-z0-9]+/', $str)) { // ok... } 
 if(preg_match('/[^A-Za-z0-9]+/', $str)) { // ... } 

看看这个快捷方式

 if(!preg_match('/[^\W_ ] /',$string)) { } 

class [^\W_]匹配任何字母或数字,但不是下划线。 并注意! 符号。 它可以帮助您扫描整个用户input。

如果你需要检查是否是英文。 你可以使用下面的函数。 可能会帮助别人..

 function is_english($str) { if (strlen($str) != strlen(utf8_decode($str))) { return false; } else { return true; } } 

PHP可以使用preg_match(regex, string)将string与正则expression式进行比较preg_match(regex, string)如下所示:

 if (!preg_match('/[^A-Za-z0-9]+/', $string)) { // $string contains only English letters and digits }