Ir para conteúdo

POWERED BY:

Arquivado

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

Mr Crowley

preciso filtrar certos caracteres...como faço?

Recommended Posts

ola...

1)

bem preciso de um filtro para deixar apenas letras e numeros serem escritas nos campos...

tenho que bloquear principalmente " % & - ' * "

 

e tem como bloquear apenas qdo o usuario digita 2 barras " // " ou 2 traços

" -- " seguindos caso ele digite uma ele deixe escrever

 

questao de segurança para o sistema!

porem, é possivel eu carregar esse filtro sem ter que ir em campo e campo e adicionar esse filtro?

 

 

2)

tenho uma mascara que o usuario vai digitando e ele vai adicionando a mascara , porem queria saber se existe uma que o usuario vai digitando os valores mais que ele aplique a mascara apenas qdo o usuario sair do campo (onBlur)

po exemplo o usuario digitou 01012002 qdo ele sair do campo ele mude para 01/01/2002

existe uma desse tipo?

 

um detalhe...tem que funcionar em IE e FireFox...

estou testando o sistema nesses 2, entao é preciso que funcione neles...

 

o codigo da mascara que eu to usando...

as vezes e mais facil modificar ela...

forem ela nao funfa direito no Firefox...

to dando uma olhada mais nao to conseguindo mudar realmente oque eu quero....

 

faloe eat+

// JavaScript Documentfunction FormataCampo(Campo,teclapres,mascara){//pegando o tamanho do texto da caixa de texto com delay de -1 no event//ou seja o caractere que foi digitado não ser encontado.strtext = Campo.valuetamtext = strtext.length//pegando o tamanho da máscaratammask = mascara.length//criando um array para guardar cada caractere da máscaraarrmask = new Array(tammask)//jogando os caracteres para o vetorfor (var i = 0; i < tammask; i++){arrmask[i] = mascara.slice(i,i+1)}//alert (teclapres.keyCode)//começando o trabalho sujoif (((((arrmask[tamtext] == "#") || (arrmask[tamtext] == "9"))) || (((arrmask[tamtext+1] != "#") || (arrmask[tamtext+1] != "9"))))){if ((teclapres.keyCode >= 37 && teclapres.keyCode <= 40)||(teclapres.keyCode >= 48 && teclapres.keyCode <= 57)||(teclapres.keyCode >= 96 && teclapres.keyCode <= 105)||(teclapres.keyCode == 8)||(teclapres.keyCode == 9) ||(teclapres.keyCode == 46) ||(teclapres.keyCode == 13)){Organiza_Casa(Campo,arrmask[tamtext],teclapres.keyCode,strtext)}else{Detona_Event(Campo,strtext)}} else {if ((arrmask[tamtext] == "A")) {charupper = event.valueOf()//charupper = charupper.toUpperCase()Detona_Event(Campo,strtext)masktext = strtext + charupperCampo.value = masktext}}}//Adiciona todos os caracteres que podem ser usados como máscarafunction Organiza_Casa(Campo,arrpos,teclapres_key,strtext){if (((arrpos == "/") || (arrpos == ".") || (arrpos == ",") || (arrpos == " ") || (arrpos == "-")) && !(teclapres_key == 8)){separador = arrposmasktext = strtext + separadorCampo.value = masktext}}function Detona_Event(Campo,strtext){event.returnValue = falseif (strtext != "") {Campo.value = strtext}}function FormataCampo(Campo,teclapres,mascara){//pegando o tamanho do texto da caixa de texto com delay de -1 no event//ou seja o caractere que foi digitado não ser encontado.strtext = Campo.valuetamtext = strtext.length//pegando o tamanho da máscaratammask = mascara.length//criando um array para guardar cada caractere da máscaraarrmask = new Array(tammask)//jogando os caracteres para o vetorfor (var i = 0; i < tammask; i++){arrmask[i] = mascara.slice(i,i+1)}//alert (teclapres.keyCode)//começando o trabalho sujoif (((((arrmask[tamtext] == "#") || (arrmask[tamtext] == "9"))) || (((arrmask[tamtext+1] != "#") || (arrmask[tamtext+1] != "9"))))){if ((teclapres.keyCode >= 37 && teclapres.keyCode <= 40)||(teclapres.keyCode >= 48 && teclapres.keyCode <= 57)||(teclapres.keyCode >= 96 && teclapres.keyCode <= 105)||(teclapres.keyCode == 8)||(teclapres.keyCode == 9) ||(teclapres.keyCode == 46) ||(teclapres.keyCode == 13)){Organiza_Casa(Campo,arrmask[tamtext],teclapres.keyCode,strtext)}else{Detona_Event(Campo,strtext)}} else {if ((arrmask[tamtext] == "A")) {charupper = event.valueOf()//charupper = charupper.toUpperCase()Detona_Event(Campo,strtext)masktext = strtext + charupperCampo.value = masktext}}}//Adiciona todos os caracteres que podem ser usados como máscarafunction Organiza_Casa(Campo,arrpos,teclapres_key,strtext){if (((arrpos == "(") || (arrpos == ")") || (arrpos == "/") || (arrpos == ".") || (arrpos == ",") || (arrpos == ":") || (arrpos == " ") || (arrpos == "-")) && !(teclapres_key == 8)){separador = arrposmasktext = strtext + separadorCampo.value = masktext}}function Detona_Event(Campo,strtext){event.returnValue = falseif (strtext != "") {Campo.value = strtext}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

AAlves isso

event.keyCode=0;
não é possivel fazer nos padrões W3C, a propriedade keyCode não pode ser atribuido valor. Mas com o return false trabalhando com o onkeydown, deva funcionar em todos(ou quase) navegadores.

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

aAlves so uma duvida do seu codigo...

na verdade mais uma explicação....

var caract = new RegExp(/^[a-z0-9]+$/i);

funcao RegExp

 

ele seleciona cadeias entre caracteres???

 

por exemplo. se eu coloca-se " a-d " ela selecionaria a b c d

é isso?

 

e o " +$/i); "

oq ele faz?

 

o outro topico que você me passo funfa.. o problema dele é qdo o usuario click 2 vezes no msm campo... vo da uma olhadinha pra ver se consigo mudar isso. pormatar apenas uma vez...

 

brigadao cara, funcino direitinho o Verifica()

so tireio a alert e ja era... da funfando do jeito que queria....

 

==========================================

Crystian

 

qual o problema de eu nao seguir as regras?

e como eu aplicaria isso?

to usando uma pagina com iframes...

e os formulario sao carregados no iframe

 

obrigado tb cara

 

faloe e obrigado a todos...

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai pessoal modifiquei um pouco o codigo...

olha ai como que ficou...

se alguem tiver mais alguma ideia pra ajudar ....

e obrigado a todos pela ajuda...

t+

 

OBS.: o campo cnpf aceita no maximo 17 caracteres mais mostra ate 25 de propósito! assim de dificulta o usuario de digitar valores a mais .....

 

fui..........

 

 

<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Untitled Document</title></head><body><form name="form"><table width="300" border="0" cellspacing="0" cellpadding="0">  <tr>    <td width="77">Num</td>    <td width="223"><input name="num" type="text" id="num" size="10" maxlength="10" onkeypress="CaracterNum()"></td>  </tr>  <tr>    <td>Letra</td>    <td><input name="letra" type="text" id="letra" size="10" maxlength="10"onkeypress="CaracterLetra()"></td>  </tr>  <tr>    <td>NumLetra</td>    <td><input name="numletra" type="text" id="numletra" size="10" maxlength="10" onkeypress="CaracterNumLetra()"></td>  </tr>  <tr>    <td>Formata</td>    <td><input type="text" name="cnpf" size="25" maxlength="17" onkeypress="CaracterNum()" onBlur="MascaraCNPJ(this.form.cnpf,'CNPJ');"></td>  </tr></table><br></form></body></html><script language="JavaScript" type="text/javascript">function RemoveCaracter(Valor,Caracter){	var i = 0;		while(i < Valor.length) 	{  Valor = Valor.replace(Caracter,"");  i = i + 1;	}	return Valor;}function MascaraCNPJ(Campo,Nome) {	var Valor = Campo.value;	Valor = RemoveCaracter(Valor,".");	Valor = RemoveCaracter(Valor,"/");	Valor = RemoveCaracter(Valor,"-");	Campo.value = Valor;if (Valor.length == 17){	InstStr = new String(Valor);	tam=Valor.length;		string1 = InstStr.substring(0, 5);	string2 = InstStr.substring(5, 8);	string3 = InstStr.substring(8, 11);	string4 = InstStr.substring(11, 15);	string5 = InstStr.substring(15, 17);	Campo.value = string1+"."+string2+"."+string3+"/"+string4+"-"+string5;	}else{  alert("O Campo " + Nome + " precisa de 17 caracteres numéricos e possui apenas " + Valor.length + "\nDigite mais " + (17 - Valor.length) + " caracteres numéricos por favor");	}}</script><script language="JavaScript">function CaracterNum(){var caract = new RegExp(/^[0-9]+$/i);var caract = caract.test(String.fromCharCode(event.keyCode));if(!caract){	event.keyCode=0;	return;	}}</script><script language="JavaScript">function CaracterLetra(){var caract = new RegExp(/^[a-z]+$/i);var caract = caract.test(String.fromCharCode(event.keyCode));if(!caract){	event.keyCode=0;	return;	}}</script><script language="JavaScript">function CaracterNumLetra(){var caract = new RegExp(/^[a-z0-9]+$/i);var caract = caract.test(String.fromCharCode(event.keyCode));if(!caract){	event.keyCode=0;	return;	}}</script>

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.