我正在使用jquery datepicker插件输入出生日期。该插件有效,但我想确认只有18岁生日的人才能被允许。我曾尝试限制年份,但我有一个错误分配大小超载及其所指的年份。

这是我的代码:

$(function() {
    var dateNow = ($.now() - 18);
    $( "#birthdate" ).datepicker({
      yearRange: "1920:" + dateNow,
      changeMonth: true,
      changeYear: true,
      dateFormat: 'yy-mm-dd'
    });
  });

最佳答案

如果您必须在用户输入日期后进行检查,请使用以下代码段。

Demo Fiddle.

$(function() {
    $('#birthdate').datepicker({

        changeMonth: true, maxDate: '0',changeYear: true, yearRange: '1900:2014',        dateFormat: 'dd-mm-yy',
        onClose: function(){

        var today = new Date(),
        birthday = $('#birthdate').datepicker("getDate"),
        age = (
          (today.getMonth() > birthday.getMonth())
          ||
          (today.getMonth() == birthday.getMonth() && today.getDate() >= birthday.getDate())
          ) ? today.getFullYear() - birthday.getFullYear() : today.getFullYear() - birthday.getFullYear()-1;

           if(age>=18){
              alert('18+');
           }else{
              alert('not 18');
           }
       }

   });
});




如果希望将用户限制在18岁以下,请更改yearRange.datepicker()属性

Demo For this

07-24 09:44
查看更多