在客户端的下拉菜单中验证所选月份和年份中的所选日期 [英] validate selected date in selected month and year in dropdowns in client side

查看:89
本文介绍了在客户端的下拉菜单中验证所选月份和年份中的所选日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用我的mvc 4应用程序.在这里,我有日,月,年"下拉列表来选择出生日期.现在,我想验证选定月份和年份中的选定日期(尤其是2月29,28日,以及所有月份).是否有为此定义的jquery或javascript函数?

I am working with my mvc 4 application.Here I have Day ,Month ,Year dropdowns to select a date of birth. Now I want to validate a selected date in a selected month and year (especially February 29,28 , and for all month). Is there any defined jquery or javascript functions for that?

请帮助.

推荐答案

function isDate(txtDate) {
    var currVal = txtDate;
    if (currVal == '')
       return false;

  //Declare Regex  
  var rxDatePattern = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
  var dtArray = currVal.match(rxDatePattern); // is format OK?

  if (dtArray == null)
      return false;

   //Checks for dd/mm/yyyy format.
   var dtDay = dtArray[1];
   var dtMonth = dtArray[3];
   var dtYear = dtArray[5];

  if (dtMonth < 1 || dtMonth > 12)
      return false;
  else if (dtDay < 1 || dtDay > 31)
      return false;
  else if ((dtMonth == 4 || dtMonth == 6 || dtMonth == 9 || dtMonth == 11) && dtDay == 31)
      return false;
  else if (dtMonth == 2) {
      var isleap = (dtYear % 4 == 0 && (dtYear % 100 != 0 || dtYear % 400 == 0));
      if (dtDay > 29 || (dtDay == 29 && !isleap))
          return false;
  }

  return true;
}

这将以"dd/MM/yyyy"格式工作.

This will work in this format "dd/MM/yyyy".

这篇关于在客户端的下拉菜单中验证所选月份和年份中的所选日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆