如何检查,如果一个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 }