Skip to content

Instantly share code, notes, and snippets.

@wallace7souza
Created January 23, 2019 19:24
Show Gist options
  • Save wallace7souza/825f79826552dc65cd58505b69211e4c to your computer and use it in GitHub Desktop.
Save wallace7souza/825f79826552dc65cd58505b69211e4c to your computer and use it in GitHub Desktop.
Validação de data em javascript
//Baseado na solução em https://pt.stackoverflow.com/questions/91379/como-validar-data-com-angularjs-ou-jquery
function validateDate(data){
if(!data){
return false;
}
let dataTemp = data;
if(dataTemp.length===8){
dataTemp = data.substr(0,2)+'/'+data.substr(2,2)+'/'+data.substr(4);
}
const RegExPattern = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
if (!((dataTemp.match(RegExPattern)) && (dataTemp!=''))) {
return false;
}
else{
return true;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment