Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fabricionaweb

[Resolvido] Permitir alguns caracters...

Recommended Posts

Bom dia,

bom, quero dise q já tentei de todas as formas, mais nao consegui, recorri ao help,

 

quero que uma determinada strig passe por um "filtro" para verificar se contem,

 

Numeros (0-9) , Letras (a-zA-Z) (sem acentos), e algums caracters especiais: - _ [ ( ) ] @ $ |

 

Tentei com eregi() e tambem com preg_match()

mais nao tive sucesso na parte dos parenteses e cochetes :(

 

se alguem pudesse mi ajudar ficaria grato,

abracs....

Compartilhar este post


Link para o post
Compartilhar em outros sites

$pattern = "[^a-zA-Z0-9]";
if(ereg($pattern,$password) == TRUE)
{
die('Caracters não permitidos');
}

Algo assim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fazendo uma correçao:

 

$pattern = "/[^a-zA-Z0-9\(\)\[\]-_\.]/";
if(preg_match($pattern, $password))
{
die('Caracters não permitidos');
}

(sem o ! do if)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rafael, ele quer que esses caracteres sejam PERMITIDOS.

Por isso coloquei a "!".

 

Se tirar a interrogação, os caracteres permitidos serão na verdade proibidos.

 

Então o correto é com !.

 

$pattern = "/[^a-zA-Z0-9\(\)\[\]-_\.]/";
if(!preg_match($pattern, $password))
{
die('Caracters não permitidos');
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

No teste que eu fiz com o seu codigo usando o ! com a string "abcdef" deu caracters nao permitido. E com "ab*cd*e*f" nao deu nada ou seja, permitido... Que deveria dar o contrario nao? Poriso eu fiz a correçao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi o porque,

mais com ! no if, funcionou ao contrario do desejado,

sem o ! fico trankilo \o_

 

eu penssei q deveria haver o ! :x

 

Agradeco a todos, fiz umas modificacoes basicas aqui,

 

$pattern = "/[^a-zA-Z0-9\(\)\[\]\-\_\!\?\:\.\<\>\+\$]/";

 

fico rules,

Obrigado ! =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

$char = 'a-zA-Z0-9-_[()]@$|';  // aqui você adiciona ou remove os caracteres originais, sem se preocupar em escapar.

// aqui é feita a concatenação com uso de preg_quote para aplicar os "escapes"
$pattern = '/[^' . preg_quote( $char ) . ']/';

com isso você pode construir uma função para usar em diversos fins, independente dos tipos de caracters que for usar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.