Jump to content
suemar

Quebra de linha x Caracteres Especiais

Recommended Posts

suemar

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.
 

Share this post


Link to post
Share on other sites
coxosclassic

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

Share this post


Link to post
Share on other sites
suemar
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

Share this post


Link to post
Share on other sites
coxosclassic

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

Share this post


Link to post
Share on other sites

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.