Ir para conteúdo

Arquivado

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

Patrique

[Resolvido] verificar caracteres especiais em regular expression

Recommended Posts

Fala galera, preciso verificar uma variavel para saber se nela contém caractere especiais ou espaços, sei que tem funções ae, mais to a horas procurando e não encontro nada, se alguém tiver ae e me puder passar fico grato!

 

Desde já agradeço!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve Patrique, você pode estar usando a função REPLACE para solucionar o seu problema.

Espero que isso ajude:

<%
Function HTMLEspeciais(sString)
 If (sString <> "") Then
  sString = Replace(sString, "á", "á")
  sString = Replace(sString, "â", "â")
  sString = Replace(sString, "à", "à")
  sString = Replace(sString, "ã", "ã")
  sString = Replace(sString, "ç", "ç")
  sString = Replace(sString, "é", "é")
  sString = Replace(sString, "ê", "ê")
  sString = Replace(sString, "í", "í")
  sString = Replace(sString, "ó", "ó")
  sString = Replace(sString, "ô", "ô")
  sString = Replace(sString, "õ", "õ")
  sString = Replace(sString, "ú", "ú")
  sString = Replace(sString, "ü", "ü")
  sString = Replace(sString, "Á", "Á")
  sString = Replace(sString, "Â", "Â")
  sString = Replace(sString, "À", "À")
  sString = Replace(sString, "Ã", "Ã")
  sString = Replace(sString, "Ç", "Ç")
  sString = Replace(sString, "É", "É")
  sString = Replace(sString, "Ê", "Ê")
  sString = Replace(sString, "Í", "Í")
  sString = Replace(sString, "Ó", "Ó")
  sString = Replace(sString, "Ô", "Ô")
  sString = Replace(sString, "Õ", "Õ")
  sString = Replace(sString, "Ú", "Ú")
  sString = Replace(sString, "Ü", "Ü")
  sString = Replace(sString, """", """) '"
  sString = Replace(sString, "<", "<") '<
  sString = Replace(sString, ">", ">") '>
  sString = Replace(sString, " ", " ") 'Espaço
 End If

 HTMLEspeciais = sString
End Function

nome = Request.Form("nome") ' Neste caso esta recebendo o dado de um FORM, mas você pode adaptar a sua necessidade
nome = HTMLEspeciais(nome)  ' Aqui a variável nome corrige os caracteres especiais / espaços, assim o HTML as entende.

Response.Write("nome")
%>

Espero que isso ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala thiago, agradeço a ajuda mais não era isso, esta function da replace na palavras a que eu estou precisando é verificar se tem caracteres ou espaços na variavel e passar um valor tipo true ou false, não tem nada a ver com replace.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pronto, depois de muito tentar consegui fazer minha própria, era bem mais simples do que eu imaginava, esta abaixo o code que eu fiz.

 

<%
Function Caracteres(ByVal Var)
    Set regEx = New RegExp
    regEx.Pattern = "^[a-zA-Z0-9]+$"
    regEx.IgnoreCase = True
    regEx.Global = True

    Retorno  = RegEx.Test(Var)

    Caracteres = Retorno

    Set regEx = Nothing
End Function

Response.Write(Caracteres("ssss"))
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde galera desculpe desenterrar o tópico, porém estou tentando fazer uma validação com essa função de expressão regular porém em uma das etapas passa batido o teste.

 

Basicamente tenho que ter pelo menos 1 caracter especial, um caracter alfa e um numérico. Até aí beleza. Meus testes tem os seguintes resutlados

 

Se eu digito só numero ou só letra ou só carcater especial ele ñ deixa proceguir. beleza é isso que eu quero.

 

se eu uso Número + carcater especial ele ñ deixa proceguir. beleza é isso que eu quero.

 

se eu uso Letra + carcater especial ele ñ deixa proceguir. beleza é isso que eu quero.

 

se eu uso Letra + Número especial ele deixa proceguir. Ele deveria bloquear, pois quero q ele tenha pelo menos um tipo de cada.

 

Segue abaixo minha função e meu if..

 

function verificaExpReg(expReg, texto)

'"[a-zA-Z0-9!¡$%&/\()=?¿*+-_{};:,áéíóú'.\s][^>][^<]"

ok = false

 

Set RegularExpressionObject = New RegExp

 

With RegularExpressionObject

.Pattern = expReg

.IgnoreCase = True

.Global = True

End With

 

Set expressionmatch = RegularExpressionObject.Execute(texto)

 

response.Write(expressionmatch.Count)

'response.End()

 

if(expressionmatch.Count > 0) then

ok = true

end if

 

Set RegularExpressionObject = nothing

 

verificaExpReg = ok

end function

 

chamada da função no if....

 

if(verificaExpReg("[a-zA-Z]", senha) AND verificaExpReg("[0-9]", senha) AND verificaExpReg("[!¡$%&/\()=?¿*+-_{}.\s][^>][^<]", senha))then

 

'muda a senha e loga

 

else

 

'exibe msg de erro

end if

o problema ocorre com o verificaExpReg("[!¡$%&/\()=?¿*+-_{}.\s][^>][^<]", senha)

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste o code completo, para futuras procuras

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.