В 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 }