Jump to content


Photo

Caracteres Válidos Em Um Campo


  • Faça o login para participar
5 replies to this topic

#1 Fabio1

Fabio1

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado
  • Localidade:Mogi das Cruzes - SP

Posted 17/09/2006, 15:05

Boa tarde a todos.


Estive montando um sistema básico de cadastro de usuários e me deparei com um erro usando um fitro para não conseguirem cadastrar com caracteres inválidos.

Queria apenas letras maisculas, minusculas, hífem e o underline.

Eis o código simplificado.

$nome = $_POST['texto'];

if ($nome == '')
{
 echo "Nenhum caracteres para conferir!!!"; 
}
else
{
 if (!ereg("[a-z0-9_-]{4,70}", $nome) ) 
 { 
  echo $nome;
  echo "<br><br>contem caracteres invalidos"; 
 } 
 else
 {
  echo $nome;
  echo "<br><br>todos os caracteres <B>validos</B>"; 
 }
}

Ele bloqueai se o caracter inválido estiver no primeiro caracter, mas quando está misturado está aceitando. Tentei de várias formas, mas nunca consegui bloquear corretamente.

Agradeço desde já.

Edição feita por: Fabio1, 17/09/2006, 15:07.


#2 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 17/09/2006, 15:41

(!ereg("^([a-z0-9_-]){4,70}$", $nome)

ve se funciona

Leia: http://guia-er.sourc...et/guia-er.html

T+
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#3 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 17/09/2006, 20:31

Tava olhando, e vi que tu esqueceu das letras maiúsculas... :D

Ah, dá pra simplificar isso:

^[A-Za-z0-9_-]{4,70}$
Para isso:

^[\w-]{4,70}$
;)

PS: 70 caracteres não é muito não? :blink:

[]’s :DAté mais

#4 Fabio1

Fabio1

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado
  • Localidade:Mogi das Cruzes - SP

Posted 18/09/2006, 05:01

Obrigado Goku Jr e Paulo Freitas, funcionaram perfeitamente.

@Paulo Freitas - O simplificado não funcionou. 70 caracteres muito? Melhor sobrar do que faltar! hehehe

Obrigado mesmo!

#5 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 18/09/2006, 07:21

nossa legal essa "simplificação" Vidaloka!

deve ser usada com a função PREG_MATCH() né ?

Edição feita por: Goku Jr, 18/09/2006, 07:24.

-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#6 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 18/09/2006, 08:32

deve ser usada com a função PREG_MATCH() né ?

Ah é, rs, esqueci de mencionar... :P

O costume de usar RegExp compatíveis com Perl ao invés de POSIX me fez esquecer deste detalhe... :D

PS: Nem notei que eu havia errado na simplificação... kKk, já corrigi! :rolleyes:

[]’s :DAté mais




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq