如何在javascript中检查dd-Mon-yyyy格式的日期?

如何在javascript中检查dd-Mon-yyyy格式的日期?,java,javascript,string,Java,Javascript,String,起初,我使用java脚本将数据传递给action类,但我想在java脚本中做什么 Jsp java脚本: $('#nwr_fa_dob').keypress(function(event) { $('#nwr_fa_gender').attr('disabled',false); var keycode = (event.keyCode ? event.keyCode :event.which); var dob= $('#n

起初,我使用java脚本将数据传递给action类,但我想在java脚本中做什么

Jsp java脚本:

$('#nwr_fa_dob').keypress(function(event)
       {
          $('#nwr_fa_gender').attr('disabled',false);
         var keycode = (event.keyCode ? event.keyCode :event.which);
         var dob= $('#nwr_fa_dob').val();
         if(keycode == '13' || keycode =='40')
         {
            $.ajax({
                type: "POST",              
                dataType: "json",
                url: "dob_details",
                data: {dob:dob},        
                success: function(response)
                {
                    $('#nwr_fa_dob').val(response.dob);
                    if($('#nwr_fa_dob').val()==null || $('#nwr_fa_dob').val()=='')
                    {
                        alert("You Will Give Age or DateFormat of dd-MMM-yyyy(Ex : 18-Mar-1990)");
                        $('#nwr_fa_dob').val('');
                        $('#nwr_fa_dob').focus();
                        }
                    else
                    {
                        $('#nwr_fa_dob').val(response.dob);
                        $('#nwr_fa_gender').focus();
                        }
                    }
                });
            return false;
            }
         if(keycode=='38'){
             $('#nwr_fa_fsname').focus();
             return false;
             }
         });
Java代码:

public String dob_fetchdate() {
        try {
            if (dob.length() == 11) {
                Date dat = ymd.parse(dob);
                if (ymd.format(dat).equals(dob)) {
                    dob = dob;
                } else {
                dob = null;
                }
            } else if (dob.length() == 10) {
                dob = null;
            } else if (dob.length() == 2) {
                String date = DateNow.substring(7, 11);
                String year = String.valueOf(Long.valueOf(date)
                        - Long.valueOf(dob));
                dob = DateNow.substring(0, 7).concat(year);
            } else {
                dob = null;
            }
            return "success";
        } catch (Exception ex) {
            System.out.println("Dob Error =" + ex);
            return "error";
        }
    }
js()无疑是javascript中日期操作的参考API。 以下是如何在您的案例中使用它的示例:

var userDateString = "30-Aug-2014";
var dateFormat = "DD-MMM-YYYY";
var myMoment = moment(userDateString, dateFormat);
if (myMoment.isValid()) {
    alert ("Date is valid !");
} else {
    alert ("Invalid date !");
}

它还可以告诉您键入的日期有什么问题。

使用javascript中的正则表达式可以轻松完成此操作

    var date="01-01-1944";
    var pattern = /[0-9]{2}[-]{1}[0-9]{2}[-]{1}[0-9]{4}/i;

    if(pattern.test(date)) {
        var dateParts = date.split("-");
        // You can do the range checking here
        console.log(dateParts[0]);
        console.log(dateParts[1]);
        console.log(dateParts[2]);
    }
要了解更多关于JS中正则表达式的信息,请遵循

同时阅读这个问题的答案