Он также проверяет, содержит ли он какие-либо символы, кроме алфавита, az и AZ, цифры 0-9 и _.
Или вы можете сказать, проверяя, что он содержит только буквенно-цифровые символы и _.
Это также можно переписать, чтобы упростить - preg_match возвращает int, поэтому нет причин использовать шаблон «возвращать ложь, возвращать истину».
function isUserID($username){ return (bool)preg_match('/^[a-z\d_]{2,20}$/i', $username); }
Сделал бы то же самое.
Кроме того, \w
означает то же самое, что и эти символы.Буквы, цифры и подчеркивание.Так что еще лучше было бы
function isUserID($username){ return (bool)preg_match('/^[\w]{2,20}$/i', $username); }