Php 如何在javascript中验证MM/YY的日期?

Php 如何在javascript中验证MM/YY的日期?,php,javascript,html,validation,Php,Javascript,Html,Validation,可能重复: 我有一个表单,有很多字段,都是通过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> 。。。但是没有起作用 可以使用正则表达式

可能重复:

我有一个表单,有很多字段,都是通过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>

。。。但是没有起作用

可以使用正则表达式

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

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

试试这个

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

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

了解正则表达式

更多详细信息请尝试此

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

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

了解正则表达式


更多详细信息

请尝试此简单功能

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.");
}
函数有效期(dValue){
var结果=假;
dValue=dValue.split('/');
变量模式=/^\d{2}$/;
如果(D值[0]<1 | | D值[0]>12)
结果=真;
if(!pattern.test(dValue[0])| |!pattern.test(dValue[1]))
结果=真;
if(d值[2])
结果=真;
如果(结果)警报(“请以MM/YY格式输入有效日期”);
}

试试这个简单的功能

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.");
}
函数有效期(dValue){
var结果=假;
dValue=dValue.split('/');
变量模式=/^\d{2}$/;
如果(D值[0]<1 | | D值[0]>12)
结果=真;
if(!pattern.test(dValue[0])| |!pattern.test(dValue[1]))
结果=真;
if(d值[2])
结果=真;
如果(结果)警报(“请以MM/YY格式输入有效日期”);
}


您尝试过正则表达式吗?我尝试过生成一个正则表达式/^(\d{2})[-\/](\d{2})[-\/](\d{4})$/.exec(date);但是没用。你试过正则表达式吗?我试过做一个正则表达式/^(\d{2})[-\/](\d{2})[-\/](\d{4})$/.exec(date);但不起作用。它不会验证月数是否大于12。修复它。如果月份大于12,它将不会验证。修正它。@viany,你能改变正则表达式吗?因为如果我输入12/12,它不会给出错误/2012@HarshalMahajan正如您的问题所说,您只想验证MM/YY格式。如果您想在DD/MM/YYYY验证它,您可以使用相同的答案进行一些格式化。实际上,我希望用户应该输入12/12这样的日期,而不是12/12/2012,如果他输入了,那么应该有错误消息。您的答案在12/12可以正常工作,但在12/12不验证/2012@HarshalMahajan好啊相应地更新了。@viany,您能更改正则表达式吗?因为如果我键入12/12,它不会给出错误/2012@HarshalMahajan正如您的问题所说,您只想验证MM/YY格式。如果您想在DD/MM/YYYY验证它,您可以使用相同的答案进行一些格式化。实际上,我希望用户应该输入12/12这样的日期,而不是12/12/2012,如果他输入了,那么应该有错误消息。您的答案在12/12可以正常工作,但在12/12不验证/2012@HarshalMahajan好啊相应更新。当我输入有效日期12/12时,它会给出错误消息。当我输入有效日期12/12时,它会给出错误消息。当我输入有效日期12/12时,它会给出错误消息。您确定字符串正好是
12/12
。试试
/^(0[1-9]| 1[0-2])\/\d{2}$/.test(“12/12”)
。它返回
true
。仍然不工作,没有在ri8上给出任何错误或错误的值。当我输入有效日期12/12时,它给出错误消息。您确定字符串正好是
12/12
。试试
/^(0[1-9]| 1[0-2])\/\d{2}$/.test(“12/12”)
。它返回
true
。仍然不工作,没有给出ri8的任何错误或错误值。