Gostaria de retornar mensagem especificas mostrando o pq do username não ser válido.
Por exemplo: se usou caracteres ilegais, se o comprimento minimo ou maximo não está correto, ou esta usando nomes ilegais.
A função:
function validate_username( $user_name, $min_length = 3, $max_length = 15 ) {
// Deve ter ao menos um caractere
if( strspn( $user_name, "abcdefghijklmnopqrstuvwxyz0123456789-_" ) == 0 ) {
return false;
}
// Deve conter todos os caracteres legais
if( strspn( $user_name, "abcdefghijklmnopqrstuvwxyz0123456789-_ " ) != strlen($user_name) ) {
return false;
}
// Comprimento máximo e mínimo
if( strlen($user_name) < $min_length ) { return false; }
if( strlen($user_name) > $max_length ) { return false; }
// Nomes ilegais
if( eregi( "^((root)|(bin)|(daemon)|(adm)|(lp)|(sync)|(shutdown)|(halt)|(mail)|(news)|(uucp)|(operator)|(games)|(mysql)|(httpd)|(nobody)|(dummy)|(www)|(cvs)|(shell)|(ftp)|(irc)|(debian)|(ns)|(download))$", $user_name ) ) {
return false;
}
if( eregi( "^(anoncvs_)$" , $user_name ) ) { return false; }
return true;
e uso assim:
if (validate_username("$login"))
{
echo "Usuário válido";
}
else
{
echo "Usuário inválido";
}
Edição feita por: <?PHPMAN?>, 28/06/2005, 09:39.










