0

我有一个正则表达式来验证日期,它工作正常,就是这样

^(0[1-9]|[1-9]|1[012])[- /.](0[1-9]|[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$

但我想使用 javascript 验证它。我试过这个

var  ck_effectivedate= /^(0[1-9]|[1-9]|1[012])[- /.](0[1-9]|[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$/;

function radtxtbxNewEffectiveDateOnBlur(sender, eventArgs) {

  if (!ck_effectivedate.test(sender.get_value())) {
    alert('matches');
   }
   else
   {
     alert('does not match');
   }

}

但是,正则表达式不起作用,因为/我的正则表达式中存在字符,该字符也用于将正则表达式封装在 java 脚本中。

如果我删除该/字符,那么它可以工作,但我想在我的字符串中使用它。请帮忙。

4

1 回答 1

3

您只需要使用反斜杠转义特殊字符\

^(0[1-9]|[1-9]|1[012])[- \/.](0[1-9]|[1-9]|[12][0-9]|3[01])[- \/.](19|20)\d\d$

参考:

于 2012-07-05T11:38:02.610 回答