我有一个正则表达式来验证日期,它运行正常,这就是它
^(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脚本中封装正则表达式。
如果我删除/
字符,那么它可以正常工作,但我想在我的字符串中使用它。
请帮忙。
答案 0 :(得分:3)
您只需要使用反斜杠\
转义特殊字符:
^(0[1-9]|[1-9]|1[012])[- \/.](0[1-9]|[1-9]|[12][0-9]|3[01])[- \/.](19|20)\d\d$
参考文献: