Как проверить, является ли каждый символ буквенно-цифровым в PHP? - PullRequest
3 голосов
/ 02 июля 2010
preg_match_all("/[^A-Za-z0-9]/",$new_password,$out);

Выше проверяется только 1-й символ, как проверить, все ли буквы алфавитно-цифровые?

Ответы [ 3 ]

18 голосов
/ 02 июля 2010

Вероятно, лучше использовать встроенные функции: ctype_alnum

6 голосов
/ 02 июля 2010
preg_match("/^[A-Za-z0-9]*$/", $new_password);

Это дает true, если все символы буквенно-цифровые (но остерегайтесь неанглийских символов). ^ отмечает начало строки, а ^ $ ^ отмечает конец. Это также дает true, если строка пуста. Если вам требуется, чтобы строка не была пустой, вы можете использовать квантификатор + вместо *:

preg_match("/^[A-Za-z0-9]+$/", $new_password);
0 голосов
/ 10 июля 2014

Старый вопрос, но это мое решение:

<?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;
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...