(41) 9225-6319
contato@felipemarques.com.br

Função Javascript para Validar período entre datas

Bom dia Pessoal,

Esta manhã precisei de uma função para verificar se um período entre 2 datas era válido.
É claro que primeiro fui verificar se o Google não havia encontrado algo, porém nao consegui encontrar nada do que realmente me ajudaria.

Não gosto de reinventar a roda, pois acho retrabalho desnecessário, mas consegui fazer rapidamente uma função que faz essa validação com apenas 3 condições. Segue abaixo o código.


/**
* Método que verifica se o período entre 2 datas é válido.
*
* @author Felipe Marques
* @email felipecaioba@gmail.com
* @method ValidarPeriodoData
* @params (string) dataInicio, (string) dataFim
* @return (boolean)
*/
var ValidarPeriodoData = function(dataInicio,dataFim){

var diaInicio = (dataInicio.split(‘/’)[0]);
var mesInicio = (dataInicio.split(‘/’)[1]);
var anoInicio = (dataInicio.split(‘/’)[2]);

var diaFim = (dataFim.split(‘/’)[0]);
var mesFim = (dataFim.split(‘/’)[1]);
var anoFim = (dataFim.split(‘/’)[2]);

var dataInicio = anoInicio+’-‘+mesInicio+’-‘+diaInicio;
var dataFim = anoFim+’-‘+mesFim+’-‘+diaFim;

if(Date.parse(dataInicio) > Date.parse(dataFim)){
return false;
}else if(Date.parse(dataFim) < Date.parse(dataInicio)){ }else{ return true; } } // exemplo de uso alert(ValidarPeriodoData('10/08/2011','10/08/2011')); // retorna true alert(ValidarPeriodoData('09/08/2011','10/08/2011')); // retorna true alert(ValidarPeriodoData('10/08/2011','10/08/2012')); // retorna true alert(ValidarPeriodoData('10/08/2011','10/09/2011')); // retorna true alert(ValidarPeriodoData('10/08/2011','11/08/2011')); // retorna true alert(ValidarPeriodoData('10/08/2011','09/08/2011')); // retorna false alert(ValidarPeriodoData('10/08/2011','10/08/2010')); // retorna false alert(ValidarPeriodoData('10/08/2011','10/07/2010')); // retorna false [/javascript]

Sobre o autor
Felipe Marques é Consultor e Analista de Sistemas Web e Mobile. Mais de 10 anos de experiência.

Faça um comentário

*

Facebook Auto Publish Powered By : XYZScripts.com