Как проверить, если строка php содержит только английские буквы и цифры?

В 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_] соответствует любой букве или цифре, но не подчеркивается. И обратите внимание ! символ . Это избавит вас от сканирования всего пользовательского ввода.

если вам нужно проверить, является ли он английским или нет. вы можете использовать функцию ниже. может помочь кому-то ..

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

PHP может сравнивать строку с регулярным выражением, используя preg_match(regex, string) следующим образом:

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