【发布时间】:2023-03-18 08:30:01
【问题描述】:
我目前正在使用 javascript 验证来验证用户输入的日期是否有效,但是,我当前的正则表达式模式无法验证用户不能输入小于 03/19 的日期。相反,它允许 01/19 和 02/19 等。
我相信还有其他方法可以在 javascript 中进行此验证,但是我想知道这个正则表达式是否有办法。
当前的javascript:
var errdiv = $(".error");
$("#form").validate({
rules: {
cardmm: {
required: true,
minlength: 2,
maxlength: 2,
pattern: "^(1[0-2]|[0-9]|)$"
},
cardyy: {
required: true,
minlength: 2,
maxlength: 2,
pattern: "^(2[0-8]|19|)$"
},
},
messages: {
cardmm: {
required: "Please enter valid details.",
minlength: "Please enter valid details.",
maxlength: "Please enter valid details.",
max: "Please enter valid details.",
pattern: "Please enter valid details."
},
cardyy: {
required: "Please enter valid details.",
minlength: "Please enter valid details.",
maxlength: "Please enter valid details.",
pattern: "Please enter valid details."
},
},
errorPlacement: function(error, element, m) {
errdiv.css({"display": "block"});
errdiv.empty();
errdiv.text(error[0].innerHTML);
},
success: function(error) {
error.removeClass("error"); // <- no, no, no!!
errdiv.css({"display": "none"});
}
});
【问题讨论】:
-
请添加一些输入和预期输出
-
这些字段是相互连接的。你不能像这样验证它。您必须创建一个自定义验证器来检查这两个字段。
标签: javascript regex