Ir para conteúdo

POWERED BY:

Arquivado

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

meirelles

Bloquear acentos e caracteres especiais

Recommended Posts

no campo login, não quero q o usuário coloque acentos ou caracteres especiais, como devo fazer, em asp?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa um replace na hora de logar!assimvarLogin = Replace(varLogin,"~","")varLogin = Replace(varLogin,"'","")varLogin = Replace(varLogin,"^","")varLogin = Replace(varLogin,";","")e assim por diante!

Compartilhar este post


Link para o post
Compartilhar em outros sites

VB + ASPif InStr(usuario,"*") <> 0 Then user = "Inválido" End ifREtorna 0 se Não existir!JavaScript + ASPif(usuario.search(/\b['-*-%]/)!=-1) { user = "Invalido"; }O Java permite procurar mais de uma por vez!

Compartilhar este post


Link para o post
Compartilhar em outros sites

explica melhor isso aqui por favorVB + ASPif InStr(usuario,"*") <> 0 Then user = "Inválido" End ifREtorna 0 se Não existir!

Compartilhar este post


Link para o post
Compartilhar em outros sites

if InStr(usuario,"*") <> 0 Then user = "Inválido" End if

 

O InStr procura a ocorrencia de um texto em uma variavel, caso exista ele retorna a posição dela.

 

tipo:

 

ASP

[*]Dim nome, posicao

 

[*]

 

[*]nome "Brasil"

 

[*]

 

[*]posicao InStr(nome,"a")

 

Então o InStr vai procurar na váriavel nome a palavra 'a' e vai retornar a posição dela (3) ou seja terceira letra da palavra, caso não existisse a letra 'a' na palavra ele retornaria 0.

 

então

 

ASP

[*]if InStr(usuario,"*") <> 0 Then user "Inválido" End if

 

[*]' Se o carcater * existir na variavel usuario, o usuario será inválido

 

[*]

 

[*]if usuario="Inválido" Then Msg_de_ERRO() End if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Saquei, mas acho então melhor do que ter q descriminar todos os que não podem, num seria melhor eu dizer os que podem, tipo de A até Z somente.No caso dos acentos como ficaria?ex: posso bloquear diferente de (A), mas (á) não é diferente de (A). como ficaria?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tambem acho voce definir o que pode apenas e os outros não deixa passar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Saquei, mas acho então melhor do que ter q descriminar todos os que não podem, num seria melhor eu dizer os que podem, tipo de A até Z somente.

 

No caso dos acentos como ficaria?

ex: posso bloquear diferente de (A), mas (á) não é diferente de (A). como ficaria?

<{POST_SNAPBACK}>

Eu tbm keria alguma maneira de no VB procurar todos caracteres que nao fossem alfa-numéricos, mas acho que nao dá.

 

InStr(usuario,"á")

InStr(usuario,"é")

 

tem que botar o acento e a letra

Compartilhar este post


Link para o post
Compartilhar em outros sites

se for pra login, geralmente não são muito extensos, voce pode crias uam variavel com tudo que é permitido

 

depois usa um laço FOR pra varrer cada caracter e perguntar se todos os caracteres são permitidos

 

ASP

    [*]PERMITIDO "abcd....ABCD..._" aqui voce poe todos os caracteres

     

    [*]LOGIN "Mário"

     

    [*]VALIDO True

     

    [*]FOR I = 1 TO LEN(LOGIN)

     

    [*] IF INSTR(PERMITIDO,MID(LOGIN,I,1)) <= 0 THEN

     

    [*] VALIDO False

     

    [*] EXIT FOR

     

    [*] END IF

     

    [*]NEXT

 

ai voce terá na variavel VALIDO se pode ou não ser o tal login

Compartilhar este post


Link para o post
Compartilhar em outros sites

saquei, vou usar essa rotina deve funcionar!agora, eu dou replace ou mando um erro para o usuario, q q é melhor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

saquei, vou usar essa rotina deve funcionar!

 

agora, eu dou replace ou mando um erro para o usuario, q q é melhor?

<{POST_SNAPBACK}>

Manda o Erro, pq se o usuário for logar-se, e tiver um * por exemplo não vai dar certo =|

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Manda o Erro, pq se o usuário for logar-se, e tiver um * por exemplo não vai dar certo

exato

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.