blog.intermol.com.br

JAVASCRIPT - MYSQL - PHP

Rotina para teste de data em Javascript

Esta função em Javascript testa uma data para verificar se é válida.

Se você tem alguma outra sugestão para esta função por favor comente.


/**
* Valida uma string de data
* @param {string} sData Uma string de data
* @return verdadeiro se a data é válida
*/
function testaData(sData) {
if (!sData.length) return false;
var datamat = sData.split('/');
if (datamat.length < 3) return false;
var dia = (datamat[0].charAt(0) == '0') ? parseInt(datamat[0].slice(1)) : parseInt(datamat[0]);
var mes = (datamat[1].charAt(0) == '0') ? parseInt(datamat[1].slice(1)) : parseInt(datamat[1]);
var ano = parseInt(datamat[2]);
if (ano < 1800) return false;
var data = new Date(ano, (mes - 1), dia);
var datastr = "" + dia + mes + ano;
var dataconvertida = "" + data.getUTCDate() + (data.getMonth() + 1) + data.getFullYear();
return(datastr == dataconvertida);
}



 | Enviar por e-mail  | Hits para esta publicação: 215

2 respostas para “ Rotina para teste de data em Javascript ”

  1. Fulvio Oliveira Dezembro 14th, 2009 08:39

    Simples de entender e eficiente. Mandou bem!

    Mas tive que mudar uma linha pra fazer funcionar aqui:
    sai
    var data = new Date(ano, (mes - 1), dia);
    entra
    var data = new Date(ano, (mes - 1), dia+1);

    Necessario em Firefox/XUbuntu, IE7/WindowsXP e FirefoxPortugues/WindowsXPIngles.

    Talvez por meu sistema aqui nao estar em Portugues? Precisando testar, avise. Testei 20/10/2010.

  2. admin Fevereiro 10th, 2010 07:11

    Você testou ?

Deixe uma resposta.

Você deve estar conectado para publicar um comentário.