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

在JS中我使用这个代码:

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

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

7 Solutions collect form web for “如何检查,如果一个PHPstring只包含英文字母和数字?”

使用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 } 
  • PHP创buildzip文件,而无需path文件
  • 在用添加值之前是否需要声明PHP数组?
  • PHP中是否存在$ _SERVER ?
  • 处理指令目标匹配“ ”是不允许的
  • 从PHP调用C / C ++库函数
  • 禁用Laravel的雄辩时间戳
  • 错误发布500 PHP - 这是logging在哪里?
  • 在PHP中,线程安全或非线程安全是什么?
  • 更改php.ini文件后是否需要重新启动Apache?
  • 类mysqli_result的对象无法转换为stringin
  • if(){}和if()之间的区别:endif;