Есть ли функция Php, чтобы определить, состоит ли строка из только буквенно-цифровых символов ASCII?
Примечание. Извините, если вопрос звучит глупо для некоторых, но я не мог легко найти такую функцию в руководстве Php.
Попробовать ctype_alnum
preg_match('/^[a-z0-9]+$/i', $str);
Изменить: ответ Джона Т лучше. Просто предоставление другого метода.
Это мое решение
<?php public function alphanum($string){ if(function_exists('ctype_alnum')){ $return = ctype_alnum($string); }else{ $return = preg_match('/^[a-z0-9]+$/i', $string) > 0; } return $return; } ?>
Мое длинное, но простое решение
strspn($string, '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_') == strlen($string)
Функция strspn () находит длину начального сегмента строки $, которая содержит только буквы, цифры и символ подчеркивания (второй аргумент). Если целая строка состоит только из букв, цифр и подчеркивания, возвращаемое значение будет равно длине строки.