Проверка возраста на jQuery, альтернитивная проверка методом для плагина validation
Проверям возраст, используя jQuery, и второй способ: при помощи метода для плагина validation
Этот сниппет предполагает наличие HTML формы с идентификатором age-form и тремя полями (текстовые или список) с идентификаторами: day
, month
и year
, соответственно.
jQuery
$("#age-form").submit(function(){
var day = $("#day").val();
var month = $("#month").val();
var year = $("#year").val();
var age = 18;
var mydate = new Date();
mydate.setFullYear(year, month-1, day);
var currdate = new Date();
currdate.setFullYear(currdate.getFullYear() - age);
if ((currdate - mydate) < 0){
alert("Извините, только лица старше " + age + " лет могут зайти на этот сайт");
return false;
}
return true;
});
Вы можете сделать более элегантно, например, ниже я привел метод проверки возраста для плагина validation. Также не забывайте проверять возраст на стороне сервера, иначе данный код будет работать только на стороне клиента и при включенном javascript.
jQuery
$.validator.addMethod("birthday", function(value, elem) {
var d1 = $(elem).val();
d1 = d1.split('-');
var age = 18;
var yourdate = new Date();
yourdate.setFullYear(d1[0],(d1[1]-1),+d1[2]);
var currdate = new Date();
currdate.setFullYear(currdate.getFullYear() - age);
if ((currdate - yourdate) < 0)
{
return false;
}
else
{
return true;
}
},"Извините, к подписанию договора допускаются только лица старше 18 лет");
Комментарии к статье