Remover Caracteres Especiais x Quebra de linha


(suemar) #1

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.


(Randys Machado) #2

Olá @eugeniots beleza?
Olha tem esse script que é bem completo fold-to-ascii.
Ou tu pode usar essa função abaixo, e poderá implementa-la como quiser

function retira_acentos(str) {
	com_acento = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝŔÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿŕ";
	sem_acento = "AAAAAAACEEEEIIIIDNOOOOOOUUUUYRsBaaaaaaaceeeeiiiionoooooouuuuybyr";
	novastr="";
	for(i=0; i<str.length; i++) {
		troca=false;
		for (a=0; a<com_acento.length; a++) {
			if (str.substr(i,1)==com_acento.substr(a,1)) {
				novastr+=sem_acento.substr(a,1);
				troca=true;
				break;
			}
		}
		if (troca==false) {
			novastr+=str.substr(i,1);
		}
	}
	return novastr;
}		

var palavras="Último coração alumínio latência opções blablabla...";
alert (retira_acentos(palavras));

(suemar) #3

Bom dia, obrigado mesmo pelo contato.

O seu remove a acentuação, só preciso que remova alguns caracteres especificos.

O meu está funcionando, porém não está mantendo a quebra de linha.

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;
}