Jump to content

Recommended Posts

Posted

Preciso que ser digitado um texto em um textarea seja removido os caracteres especiais, pesquisando bastante consegui chegar ao script que estou usando, porém ele está removendo as quebras de linha e alguns espaços, muito agradeço quem puder me ajudar a permitir as quebras de linha, apenas removendo os caracteres especiais. 

Veja em https://tsmix.com.br/app/clean/

Copie e cole o seguinte texto, não vai ficar apenas o asd cada um em uma linha, mas tudo na mesma linha.

!#@$%!%&#%*()"!@#"!asd
!#@$%!%&#%*()"!@#"!asd
!#@$%!%&#%*()"!@#"!asd
!#@$%!%&#%*()"!@#"!asd

Aceito sugestões de novas formas ou scripts.
 

Posted

boas,

O teu link está quebrado, a página não existe.

 

Não vendo o teu script é difícil conseguir ajudar, mas numa situação dessas sugiro que limpes o texto de caracteres especiais sempre que escrevas algo na textarea.

Coloca aqui o script que estás a usar, pode ser que consigamos ajudar melhor.

 

cumps,

cc

Cumps,

cc

Posted (edited)
Em 26/08/2018 às 09:27, coxosclassic disse:

boas,

O teu link está quebrado, a página não existe.

 

Não vendo o teu script é difícil conseguir ajudar, mas numa situação dessas sugiro que limpes o texto de caracteres especiais sempre que escrevas algo na textarea.

Coloca aqui o script que estás a usar, pode ser que consigamos ajudar melhor.

 

cumps,

cc

 

<script language="JavaScript" type="text/javascript">

window.onload = function(){
        $('string').onkeyup = function(){         
            testar_string($('string'));
        }    
}

function $(id){
    return document.getElementById(id);
}

function testar_string(stringTeste){
    palavra = new RegExp('\^((:[.]|[=]|[_]|[ ]|[-])|([0-9|a-zA-Z|.| |.|=|-]{0,100}))\$');
  (!palavra.test(stringTeste.value))?stringTeste.value = substStr(stringTeste,palavra):"";
}

function substStr(teste,Lregex){
    var str ="";
    var i = 0;
    Arr = new Array();
    result = teste.value;
    while(result.charAt(i)){
        if(Lregex.test(result.charAt(i)))
        str+=result.charAt(i);
        i++;
    }
    return str;
}
</script>


 

Edited by suemar
Posted

Boas,

Tens a expressão regular incompleta para aquilo que pretendes fazer:

'\^((:[.]|[=]|[_]|[ ]|[-])|([0-9|a-zA-Z|.| |.|=|-]{0,100}))\$'

Falta incluir (ou excluir) a quebra de linha. Coloca o caracter '\n' na expressão ou substitui por '<br>' e deverá funcionar.

Se tiveres problemas avisa.

Cumps.

Cumps,

cc

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.