Solución:
Si desea utilizar barras diagonales en el formato, debe escapar con barras diagonales inversas en la expresión regular:
var pattern =/^([0-9]{2})/([0-9]{2})/([0-9]{4})$/;
http://jsfiddle.net/P9TER/
Sugiero usar moment.js, que proporciona un método fácil de usar para hacer esto.
demostración interactiva
function validate(date){
var eighteenYearsAgo = moment().subtract(18, "years");
var birthday = moment(date);
if (!birthday.isValid()) {
return "invalid date";
}
else if (eighteenYearsAgo.isAfter(birthday)) {
return "okay, you're good";
}
else {
return "sorry, no";
}
}
Para incluir el momento en su página, puede usar CDNJS:
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.4.0/moment.min.js"></script>
Utilizaría el incorporado Date
Objeto para hacer la validación por mí. Incluso después de cambiar de -
para /
aún debe verificar si el mes está entre 0 y 12, la fecha está entre 0 y 31 y el año entre 1900 y 2013, por ejemplo.
function validateDOB(){
var dob = document.forms["ProcessInfo"]["txtDOB"].value;
var data = dob.split("https://foroayuda.es/");
// using ISO 8601 Date String
if (isNaN(Date.parse(data[2] + "-" + data[1] + "-" + data[0]))) {
return false;
}
return true;
}
Consulte https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse#Example:_Using_parse para obtener más información.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)