Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net中mm/dd/yyyy格式的Javascript日期验证_Javascript_Jquery_Asp.net_Date - Fatal编程技术网

asp.net中mm/dd/yyyy格式的Javascript日期验证

asp.net中mm/dd/yyyy格式的Javascript日期验证,javascript,jquery,asp.net,date,Javascript,Jquery,Asp.net,Date,我想在客户端验证生日,它应该是“mm/dd/yyyy”格式 我尝试了以下方法,但无法正常工作: $("#btnUpdateEditCB3").click(function(event) { var txtBirthDate = $('#<%= txtBirthDateCB3.ClientID %>').val(); var txtNickName = $('#<%= txtNickNameCB3.ClientID %>').val(); if (t

我想在客户端验证生日,它应该是“mm/dd/yyyy”格式

我尝试了以下方法,但无法正常工作:

$("#btnUpdateEditCB3").click(function(event) {
    var txtBirthDate = $('#<%= txtBirthDateCB3.ClientID %>').val();
    var txtNickName = $('#<%= txtNickNameCB3.ClientID %>').val();
    if (txtBirthDate != "") {
        if (txtBirthDate.match(/^(?:(0[1-9]1[012])[\/.](0[1-9][12][0-9]3[01])[\/.](1920)[0-9]{2})$/)) {
            alert("Please enter date in mm/dd/yyyy format");
            $('#<%= txtBirthDateCB3.ClientID %>').focus();
            return false;
        }
    }
});
$(“#btnupdateditcb3”)。单击(函数(事件){
var txtbirchdate=$('#').val();
var txtNickName=$('#').val();
如果(TXT生日!=“”){
if(txtbirchdate.match(/^(?(0[1-9]1[012])[\/.](0[1-9][12][0-9]3[01])[\/.](1920)[0-9]{2}$/){
警报(“请以mm/dd/yyyy格式输入日期”);
$('#')。焦点();
返回false;
}
}
});

不使用日期选择器格式有什么具体原因吗?建议在可以设置格式的地方使用jquery日期选择器


我建议您使用JavaScript Date()对象和正则表达式来验证日期。您可以使用的变体如下所示:

function ValidateCustomDate(d) {
    var match = /^(\d{2})\/(\d{2})\/(\d{4})$/.exec(d);
    if (!match) {
        // pattern matching failed hence the date is syntactically incorrect
        return false;
    }
    var month = parseInt(match[1], 10) - 1; // months are 0-11, not 1-12
    var day   = parseInt(match[2], 10);
    var year  = parseInt(match[3], 10);
    var date  = new Date(year, month, day);
    // now, Date() will happily accept invalid values and convert them to valid ones
    // therefore you should compare input month/day/year with generated month/day/year
    return date.getDate() == day && date.getMonth() == month && date.getFullYear() == year;
}
console.log(ValidateCustomDate("1/01/2011"));  // false
console.log(ValidateCustomDate("01/1/2011"));  // false
console.log(ValidateCustomDate("01/01/2011")); // true
console.log(ValidateCustomDate("02/29/2011")); // false
console.log(ValidateCustomDate("02/29/2012")); // true
console.log(ValidateCustomDate("03/31/2011")); // true
console.log(ValidateCustomDate("04/31/2011")); // false

下面的链接解释了同样的问题…看看它是否对你有帮助


如果要使用javascript验证mm/dd/yyyy格式的日期,可以使用以下代码片段

txtdate具有文本框id

考虑下面的代码

    function isValidDate(txtdate) {
    var txtDate = "#" + txtdate;
    var dateString = $(txtDate).val();
    var date_regex = /^(0[1-9]|1[0-2])\/(0[1-9]|1\d|2\d|3[01])\/(19|20)\d{2}$/;
    if (!(date_regex.test(dateString))) {
    alert("Date Must Be in mm/dd/yyyy format");
}}

你有什么错误吗?请记住,客户端日期时间格式也取决于浏览器文化。2015年2月29日和2015年2月30日、2015年2月31日失败。我喜欢你的答案(它甚至考虑了闰年)。从现在起将使用此功能。