2

可能重复:
在 JavaScript 中格式化日期

我有一个包含很多字段的表单,所有字段都通过 Java 脚本进行验证,其中一个用于日期。

<td>Credit Card Expiration Date</td><td>:<input class="input" type="text" name="CC_expiration_date" id="CC_expiration_date"><p>(MM/YY)</p></td>

现在我希望用户必须以(MM/YY)格式输入日期。如何使用 JavaScript 验证这一点?

我试着做一个正则表达式:

/^(\d{2})[-\/](\d{2})[-\/](\d{4})$/.exec(date); 

...但没有工作

4

4 回答 4

4

试试这个简单的功能。

function validDate(dValue) {
  var result = false;
  dValue = dValue.split('/');
  var pattern = /^\d{2}$/;

  if (dValue[0] < 1 || dValue[0] > 12)
      result = true;

  if (!pattern.test(dValue[0]) || !pattern.test(dValue[1]))
      result = true;

  if (dValue[2])
      result = true;

  if (result) alert("Please enter a valid date in MM/YY format.");
}
于 2012-09-11T10:57:16.157 回答
3

您可以使用正则表达式;

var s = "11/12";
/^(0[1-9]|1[0-2])\/\d{2}$/.test(s);

第一部分(0[1-9]|1[0-2])验证月份部分,即该值在范围内01-12。第二部分,\d{2}验证两位数的年份。

于 2012-09-11T10:41:16.263 回答
0

试试这个..

对于DD-MM-YYYY==>var dateReg = /^\d{2}[./-]\d{2}[./-]\d{4}$/

对于MM-YY==>var dateReg = /^\d{2}[./-]\d{2}$/

了解正则表达式.. http://docs.oracle.com/javase/tutorial/essential/regex/char_classes.html

更多详情请点击这里

于 2012-09-11T10:47:03.427 回答
0
var d = "09/11"
var pattern = /^(0[1-9]|1[012])\/\d{2}$/
pattern.test(d)
于 2012-09-11T11:20:34.750 回答