Ir para conteúdo

POWERED BY:

Arquivado

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

Saga_fuel

Alguem conhece mascara de data

Recommended Posts

Galera alguem tem ou conhece uma mascara boa para data, que só deixa digitar data e se tentar digitar outra coiza exibir um alert .............procurei mais não achei uma assim......alguem sabe???

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqu:

 

/*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/9999', event);"

o alert é só você adaptar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

simmm...a função funciona vlws........POREMela deixa eu digitar uma data que não existe como 99/99/9999 e isso eu não queria.................e é isso que eu não sei como fazer em javasscript.....sera que tem uma solução ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora você quer uma função que valida data, ai vai:

 

//VALIDAÇÃO DA DATA function VerificaData(digData,form,campo) {	var bissexto = 0;	var data = digData; 	var tam = data.length;	if (tam == 10) 	{		var dia = data.substr(0,2)		var mes = data.substr(3,2)		var ano = data.substr(6,4)		if ((ano > 1900)||(ano > ano + 10))		{			switch (mes) 			{				case '01':				case '03':				case '05':				case '07':				case '08':				case '10':				case '12':					if  (dia <= 31) 					{						return true;					}					break								case '04':						case '06':				case '09':				case '11':					if  (dia <= 30) 					{						return true;					}					break				case '02':					/* Validando ano Bissexto / fevereiro / dia */ 					if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0)) 					{ 						bissexto = 1; 					} 					if ((bissexto == 1) && (dia <= 29)) 					{ 						return true;				 					} 					if ((bissexto != 1) && (dia <= 28)) 					{ 						return true; 					}								break									}		}	}		if(tam>0)	{		alert("A Data "+data+" é inválida!");		campo.focus();		return false;	}}//Datadata = new Date();ano = data.getYear();mes = 12;

e uso:

 

onBlur="VerificaData(this.value,this.form,this);"

oh cara foi a primeira que eu achei, mas se você fizer uma busca por "validar data" tenho certeza que encontrará mlhores, ok?

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.