Ir para conteúdo

POWERED BY:

Arquivado

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

André.Sniper

Não funciona no IE

Recommended Posts

Bom Dia a todos,

 

Desenvolvi um script para bloquear palavrões no abertura de chamados da Empresa em que trabalho e funciona beleza no Firefox, mas no IE ele passa direto, sem fzer o bloqueio necessário.

 

Codigo do Javascript

 

// JavaScript Document
function bloquear_palavrao(){ 

// crie (na ordem) uma var para cada palavrão 
var a1 = "#@?$%~"; 
var a2 = "v****"; 
var a3 = "c*"; 
var a4 = "piranha";
var a5 = "c*";
var a6 = "pau";
var a7 = "#@?$%~";
var a8 = "piru";
var a9 = "buceta";
var a10 = "cacete";
var a11 = "bunda";
var a12 = "pica";
var a13 = "penis";
var a14 = "pênis";

// cria a var txt com os valores do campo (textarea) 

var txt = new Array(12);

txt[0] = document.form.descricao.value.toLowerCase();
txt[1] = document.form.localiza.value.toLowerCase();
txt[2] = document.form.equipamento.value.toLowerCase();
txt[3] = document.form.identificador.value.toLowerCase();
txt[4] = document.form.marca.value.toLowerCase();
txt[5] = document.form.tipo.value.toLowerCase();
txt[6] = document.form.endereco.value.toLowerCase();
txt[7] = document.form.bairro.value.toLowerCase();
txt[8] = document.form.cidade.value.toLowerCase();
txt[9] = document.form.contato.value.toLowerCase();
txt[10] = document.form.tipoend.value.toLowerCase();
txt[11] = document.form.referencia.value.toLowerCase();
txt[11] = document.form.email.value.toLowerCase();


// aqui, faço uma verificação com as 3 var criada acima 
// adicionando mais var(a1, a2,...) aumente também a indexação 
if (txt.indexOf(a1) != -1 || txt.indexOf(a2) != -1 || txt.indexOf(a3) != -1 || txt.indexOf(a4) != -1 || txt.indexOf(a5) != -1 || txt.indexOf(a6) != -1 || txt.indexOf(a7) != -1 || txt.indexOf(a8) != -1 || txt.indexOf(a9) != -1 || txt.indexOf(a10) != -1 || txt.indexOf(a11) != -1 || txt.indexOf(a12) != -1 || txt.indexOf(a13) != -1 || txt.indexOf(a14) != -1){ 

// retornamos o alerta e paramos a ação 
alert("Você usou uma palavra imprópia para o site, CORRIJA IMEDIATAMENTE!!!"); 
return false; 
} 
}

Codigo do botão que chama a função

 

<input type="submit" name="Submit" value="Enviar" onclick="return bloquear_palavrao();" />

 

Endereço para teste ONLINE.

 

http://www.prestech.net/site/modulos_prest...ado/chamado.htm

 

 

UM GRANDE ABRAÇO!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da uma olhada nesse exemplo que fiz pra você..

 

Ele funciona perfeitamente no IE..

 

<script type="text/javascript">
function verifica()
{
var teste = document.getElementById("valor").value.toLowerCase();

var myid= new Array();
myid[0] = "#@?$%~";
myid[1] = "v****";
myid[2] = "c*";
myid[3] = "piranha";
myid[4] = "c*";
myid[5] = "pau";
myid[6] = "#@?$%~";
myid[7] = "piru";
myid[8] = "buceta";
myid[9] = "cacete";
myid[10] = "bunda";
myid[11] = "pica";
myid[12] = "penis";
myid[13] = "pênis";

for (i=0;i<myid.length;i++)
{
if (teste.indexOf(myid[i]) != -1)
{
alert('A palavra ' + myid[i] + ' é imprópria!');
}

}
}
</script>

<input id = "valor">
<br>
<input type="button" value = "Vai" onClick="verifica()">

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde, testei seu script e realmente funcionou beleza, só tem 2 probleminhas q não consegui resolver, primeiro ele identifica as "palavras bloqueadas", mas as envia assim mesmo, teria q bloquear, eu inclui "return false; ", mas não rolou, e segunda q queria colocar o filtro para todos os campos, tentei usar Array, mas não funcionou.

 

DESCULPE O AMADORISMO! e obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então faça assim:

 

<script type="text/javascript">
function verifica()
{
var txt = new Array();
txt[0] = document.getElementById("valor").value.toLowerCase();
txt[1] = document.getElementById("valor1").value.toLowerCase();
txt[2] = document.getElementById("valor2").value.toLowerCase();
txt[3] = document.getElementById("valor3").value.toLowerCase();
txt[4] = document.getElementById("valor4").value.toLowerCase();


var myid= new Array();
myid[0] = "#@?$%~";
myid[1] = "v****";
myid[2] = "c*";
myid[3] = "piranha";
myid[4] = "c*";
myid[5] = "pau";
myid[6] = "#@?$%~";
myid[7] = "piru";
myid[8] = "buceta";
myid[9] = "cacete";
myid[10] = "bunda";
myid[11] = "pica";
myid[12] = "penis";
myid[13] = "pênis";

for (i=0;i<myid.length;i++)
{
for (a=0;a < txt.length;a++)
{
if (txt[a].indexOf(myid[i]) != -1)
{
alert('A palavra ' + myid[i] + ' é imprópria!');
return false;
}
}
}
}
</script>

<form id = "formNew" action = "pagina.asp" onSubmit = "return verifica()">
<input id = "valor">
<input id = "valor1">
<input id = "valor2">
<input id = "valor3">
<input id = "valor4">
<br>
<input type="submit" value = "Vai">

Coloque a função no "onSubmit" do form, como está no exemplo acima... e o array com os campos tb, basta seguir o exemplo que te fiz ai..

 

Abraços....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia Darkdemo,

 

O script ficou redondo, ta muito bom mesmo, só q detectei um erro as palavras que contem acento ou cedilha ele deixa passar mesmo as mesmas sendo especificadas com acento, será q tem como modificar isso?

 

Um abraço!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara.. eu testei aki no IE palavras com acento e cedilha... e foi de boa....

 

Testei "c*, pênis, çoçu ( inventei uma nova palavra.. IUHAiuhIAhiuHIUA )".. e ele fez o filtro normal...

 

To usando o IE 6...

 

 

Abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, Feliz 2009 muita saude e sucesso pra todos...

 

Olha só... Tava implementando o Script da ajuda acima e me deparei com um probleminha complexo, ao menos pra mim que nao entendo nada (ou quase nada) de Javascript.

 

Eu coloquei a chamada pro script no evento "onKeyUp" do meu textarea e to com um probleminha..

 

Quando digito c*mulo ele implica com o inicio da palavra. Existe alguma forma de impedir que ele faça este tipo de consideração, passando a ignorar a palavra?

 

Aguardo,

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, não é querendo desanimar o pessoal não, mas infelizmente foi uma idéia que veio à minha cabeça e tenho de postá-la aqui para, de certa forma, ouvir a opinião do pessoal.

 

Muito legal a sua proposta, criar um script para tentar remover palavrões e talz. Mas cara, na moral... isso não funciona mano... são diversas as possibilidades para se burlar esse sistema... creio que são quase que infinitas...

 

Por exemplo, imaginemos um palavrão que não é propriamente um palavrão, é um termo anatômico apenas: Pênis.

Pint* é palavrão, caralh**, trolh*, cacet*, rol*, beng*... isso sim são palavrões! Tá, mas deixa quieto isso... vamos nos concentrar no pênis apenas! :-o

 

Os usuários poderiam muito bem digitar:

p.ê.n.i.s

p-ê-n-i-s

pê.nis

p ê n i s

p_ê_n_i_s

1000000 x etc

 

E aí? Como validar tudo isso? E os outros trilhões de termos ofensivos?? É canseira mano... né fácil não... quando qualquer um quiser, conseguirá transmitir a mensagem quase que da mesma forma.

 

Sei lá... foi só uma viagem que veio à minha cabeça... mas é importante pensar nisso, para não perder tempo em uma coisa que poderá não funcionar como se deseja.

 

Minha dica: hehehehehehe!!! :-P -> Crie um cadastro para cada usuário. Quando ele digitar uma frase, o nome dele aparecerá discretamente no final. Se ele escrever algo impróprio, a moral a ser queimada é a dele, e não a do webmaster ou do site em si, hehe!

Ah... mas tem gente que não se importa com isso e coisa e tal...

Então minha dica número dois: Seja um fiscal do site, ou encarregue alguém disso. O danado é ter de ficar entrando no site todo dia para checar se não há nada de errado...

 

Bom, é isso... mó viagem eu sei... mas sei lá... a idéia foi explanada pro pessoal aí.

 

Abraços e boa sorte!

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.