【问题标题】:How to validate date for MM/YY in javascript? [duplicate]如何在 javascript 中验证 MM/YY 的日期? [复制]
【发布时间】:2012-09-04 06:31:15
【问题描述】:

可能重复:
Formatting a date in 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); 

...但是没用。

【问题讨论】:

  • 你试过正则表达式吗?
  • 我试图做一个正则表达式 /^(\d{2})[-\/](\d{2})[-\/](\d{4})$/ .exec(日期);但没用。

标签: php javascript html validation


【解决方案1】:

试试这个简单的功能。

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

【讨论】:

  • @viany,你能不能更改正则表达式,因为如果我输入 12/12/2012 不会出错
  • @HarshalMahajan 正如您的问题所说,您只想验证 MM/YY 格式。如果你想验证它的 DD/MM/YYYY,你可以使用相同的答案和一些格式。
  • 实际上我希望用户应该像 12/12 而不是像 12/12/2012 那样输入日期,如果他这样做了,那么应该会出现错误 MSG。你的回答适用于 12/12 但它不适用于 2012 年 12 月 12 日
  • @HarshalMahajan 好的。相应更新。
【解决方案2】:

你可以使用正则表达式;

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

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

【讨论】:

  • 当我输入有效日期 12/12 时,它会给出错误消息
  • 你确定字符串是12/12。试试/^(0[1-9]|1[0-2])\/\d{2}$/.test("12/12")。它返回true。
  • 仍然无法正常工作,在 ri8 上没有给出任何错误或错误值。
【解决方案3】:
var d = "09/11"
var pattern = /^(0[1-9]|1[012])\/\d{2}$/
pattern.test(d)

【讨论】:

【解决方案4】:

试试这个..

对于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

更多详情Click Here

【讨论】:

  • 它不会验证月份是否大于 12。修复它。
猜你喜欢
  • 2014-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-19
  • 1970-01-01
  • 2020-02-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多