我正在尝试使用正则表达式验证用户输入。如果用户未填写该字段,则会显示错误“请填写该字段”。问题是如果用户没有填写该字段,则还会显示第二个错误。我怎么能阻止这种情况发生?这就是我试过的:
if (!regex.test($('#fname').val())) {
$("#err2fname").removeClass("hidden"); //displays error if it doesn't match the regex
}
else if ($("#fname").val() == "" ) {
$("#err2fname").addClass("hidden"); //hides if field is empty
}
else ($("#err2fname").addClass("hidden")); //hides if it matches the regex
我创建了一个显示我问题的fiddle。
答案 0 :(得分:2)
$("#fname").blur(function () {
$("#errfname").toggleClass("hidden", this.value != "");
$("#err2fname").toggleClass("hidden", !regex.test(this.value) && this.value.length);
})