在asp.net中以mm / dd / yyyy格式进行Javascript日期validation

我想在客户端validationBirthDate,它应该是“mm / dd / yyyy”格式。

我试过它如下,但它无法正常工作:

$("#btnUpdateEditCB3").click(function(event) { var txtBirthDate = $('#').val(); var txtNickName = $('#').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"); $('#').focus(); return false; } } }); 

以下链接解释相同…看看它是否对您有所帮助。

使用jqueryvalidation日期

使用jqueryvalidation日期格式

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

 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 

是否有任何特定原因不使用datepicker格式? 建议使用jquery datepicker,您可以在其中设置格式。

jquery日期选择器日期时间格式

如果您想使用javascript以mm / dd / yyyy格式validation日期,可以使用以下代码段。

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"); }}