Ir para conteúdo

POWERED BY:

Arquivado

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

lams

Validação de campo

Recommended Posts

PessoalPreciso de uma ajuda, é o seguinte, tenho esse campo abaixo:(code)Só que não to conseguindo fazer 2 coisas em java script.1º o campo so pode aceitar valores numericos, caso contrario um alert advertindo o usuario.2º se o cara não preencher os 19 caracteres certinho não aceitar o submit, e voltar pra mesma tela!

<tr>              <td width="31%" height="25"><font face="Arial" size="2">Número do Patrimonio</font></td>              <td width="78%" height="25"><input type="text" name="txtDs_Patrimonio" size="20"maxlength="19"              value="<%=session("Ds_Patrimonio")%>" onkeyPress="formatar(this,'(##)##.##.###.#####',event)">              <font face="arial" color="red" size="1"> Ex.:(11)25.02.234.23456</font></td>            </tr>

me ajudem aí!valeuuuu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quais funções você está usando? post elas, ok?

Consegui fazer essas duas paradas aí...uma coisa q ta dando pau aqui, é o seguinte, estou tentando fazer uma mascara...para quando o cara digitar os caracteres nesse campo, a mascara formatar os caracteres para(##)##.##.###.####sempre nesse formato...será que você saberia me dizer como faço isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma função para isso:

 

/*Descrição.: formata um campo do formulário deacordo com a máscara informada...Parâmetros: - objForm (o Objeto Form)- strField (string contendo o nome do textbox)* - sMask (mascara que define o* formato que o dado será apresentado,* usando o algarismo "9" para* definir números e o símbolo "!" para* qualquer caracter...* - evtKeyPress (evento)* Uso.......: <input type="textbox"* name="xxx".....* onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);">* Observação: As máscaras podem ser representadas como os exemplos abaixo:* CEP -> 99.999-999* CPF -> 999.999.999-99* CNPJ -> 99.999.999/9999-99* Data -> 99/99/9999* Tel Resid -> (99) 999-9999* Tel Cel -> (99) 9999-9999* Processo -> 99.999999999/999-99* C/C -> 999999-!* E por aí vai...***/function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;if(document.all) { // Internet Explorer	nTecla = evtKeyPress.keyCode;} else if(document.layers) { // Nestcape	nTecla = evtKeyPress.which;} else {	nTecla = evtKeyPress.which;	if (nTecla == 8) {		return true;	}}sValue = objForm[strField].value;// Limpa todos os caracteres de formatação que// já estiverem no campo.// toString().replace [transforma em sring e troca elementos por ""]sValue = sValue.toString().replace( "-", "" );sValue = sValue.toString().replace( "-", "" );sValue = sValue.toString().replace( ".", "" );sValue = sValue.toString().replace( ".", "" );sValue = sValue.toString().replace( "/", "" );sValue = sValue.toString().replace( "/", "" );sValue = sValue.toString().replace( "/", "" );sValue = sValue.toString().replace( "(", "" );sValue = sValue.toString().replace( "(", "" );sValue = sValue.toString().replace( ")", "" );sValue = sValue.toString().replace( ")", "" );sValue = sValue.toString().replace( " ", "" );sValue = sValue.toString().replace( " ", "" );fldLen = sValue.length;mskLen = sMask.length;i = 0;nCount = 0;sCod = "";mskLen = fldLen;while (i <= mskLen) {bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ":") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ") || (sMask.charAt(i) == "."))//Se for true utiliza elementos especiais aumenta a máscaraif (bolMask) {	sCod += sMask.charAt(i);	mskLen++;//Caso false mostra o sValue(o q foi digitado)} else {	sCod += sValue.charAt(nCount);	nCount++;}i++;}objForm[strField].value = sCod;if (nTecla != 8) { // backspace	if (sMask.charAt(i-1) == "9") { // apenas números...	return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9else { // qualquer caracter...	return true;}} else {	return true;}}//Fim da Função Máscaras Gerais

e uso:

 

onkeypress="return txtBoxFormat(this.form, this.name, '(99)99.99.999.9999', event);"

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza brother é isso mesmo!ajustei ela aqui e deu beleza..Cara to com um outro problema aqui é o seguinte, to procurando igual doido aqui no google, mas nao to conseguindo a informação que eu quero...Assim, eu fiz validação pro campo para aceitar só numeros, só que meu campo utiliza caracteres especiais..ele fica assim "(00)00.00.000.0000" então usa "()" e "." , como que eu faço para meu campo validar e aceitar esses caracteres???Se Alguem souber vai ajudar muito!Valewww

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu ja uso...eu fiz ela assim...

if (form.txtDs_Patrimonio.value == ""){     alert("Favor informar o Numero do Patrimonio da Estação!")    form.txtDs_Patrimonio.focus()    return false}if (form.txtDs_Patrimonio.value.length = 19){    alert("Favor preencher o patrimonio com a quantidade certa de caracteres.\n Exemplo:(11)25.02.234.23456!")    form.txtDs_Patrimonio.focus()    return false}		if ((!isNumber(form.txtDs_Patrimonio.value,0))){	alert("Favor preencher o número do Patrimonio \nno formato númerico. Ex.: (11)25.02.234.23456!")	form.txtDs_Patrimonio.focus()    return false}if ((!confere(form.txtDs_Patrimonio.value))){    alert("Favor preencher o patrimonio \nno formato correto: (##)##.##.###.#####!")    form.txtDs_Patrimonio.focus()    return false}}function isNumber(sNumero, iDecimais){  var bRet  var i  bRet = true  if (iDecimais > 0)  {	 if (sNumero.length < iDecimais + 2 || (sNumero.indexOf(".", 0) == -1 && sNumero.indexOf(",", 0) == -1))	 {		bRet = false	 }  }  if (bRet)  {	 i = 0	 while(i < sNumero.length && bRet)	 {		if (iDecimais > 0)		{	if (i == sNumero.length - (iDecimais + 1))	{	  if (sNumero.charAt(i) != "." && sNumero.charAt(i) != ",")	  {		 bRet = false	  }	}	else	{	  if (sNumero.charAt(i) < "0" || sNumero.charAt(i) > "9")	  {		 bRet = false	  }	}		}		else		{	if (sNumero.charAt(i) < "0" || sNumero.charAt(i) > "9")	{	  bRet = false	}		}		i++	 }  }  return bRet}/*----------------------------------------------------------------------------Formatação para qualquer mascara-----------------------------------------------------------------------------*/function formatar(src, mask,e){ var tecla =""	if (document.all) // Internet Explorer		tecla = event.keyCode;	else		tecla = e.which;	//code = evente.keyCode;    if(tecla != 8){	if (src.value.length == src.maxlength){	return;	}  var i = src.value.length;  var saida = "#";  var texto = mask.substring(i)if (texto.substring(0,1) != saida)  {    src.value += texto.substring(0,1);  }}}function confere(sNumero){	i = 0;	while(i < sNumero.length){		if (!(sNumero.charAt(i) >= "0" || sNumero.charAt(i) <= "9" || sNumero.charAt(i) ==".")){			alert(sNumero.charAt(i));			return false		}		i++;	}	return true}<tr>              <td width="31%" height="25"><font face="Arial" size="2">Número do Patrimonio</font></td>              <td width="78%" height="25"><input type="text" name="txtDs_Patrimonio" size="20"maxlength="19"              value="<%=session("Ds_Patrimonio")%>" onkeyPress="formatar(this,'(##)##.##.###.#####',event)">              <font face="arial" color="red" size="1"> Ex.:(11)25.02.234.23456</font></td>            </tr>

Cara ja quebrei muito a cabeça com isso..ta osso...nao to conseguindo...pelo que vi, como eu fiz uma função pra acetar só numeros ele nao ta aceitando caracteres...Ve se você tem alguma sugestao pra me dar....valeuuu

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eu falei isso:

 

function formatar(src, mask,e){ var tecla =""	if (document.all) // Internet Explorer		tecla = event.keyCode;	else		tecla = e.which;	//code = evente.keyCode;    if(tecla != 8){	if (src.value.length == src.maxlength){	return;	}  var i = src.value.length;  var saida = "!";  var texto = mask.substring(i)if (texto.substring(0,1) != saida)  {    src.value += texto.substring(0,1);  }}}

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.