javascript正则表达式验证未按预期工作
我已经在js文件的顶部声明了这个正则表达式-javascript正则表达式验证未按预期工作,javascript,regex,Javascript,Regex,我已经在js文件的顶部声明了这个正则表达式- var regexName = /^[ A-Za-z]+$/ 此外,我还有一个验证功能——它可以在页面提交时启动,也可以在页面上的某些文本框上启动键控功能 $('#Name).keyup(function () { validateContactDetails(); }); 这是我的职责: function validateContactDetails() { var errorText = ""; var valid = tr
var regexName = /^[ A-Za-z]+$/
此外,我还有一个验证功能——它可以在页面提交时启动,也可以在页面上的某些文本框上启动键控功能
$('#Name).keyup(function () { validateContactDetails(); });
这是我的职责:
function validateContactDetails() {
var errorText = "";
var valid = true;
$("#ValidationHolder").text(errorText);
var Name= $('#Name');
Name.removeClass("input-validation-error");
if ( isEmpty(Name.val()) || Name.val().length > 40 && !regexName.test(Name.val()) ) {
Name.addClass("input-validation-error");
errorText += "Name cannot be empty or longer than 40 letters or contain numbers. ";
valid = false;
}
$("#ValidationHolder").html(errorText);
return valid;
}
然后我将这个js文件包含在我的cshtml页面中。然而,正则表达式验证在此时不起作用-它允许我在页面上的名称文本框中输入数字。有人看到我遗漏的简单内容吗?所以我检查了&&condition,而不是od | | condition,这是这里的问题,也遗漏了;在我的正则表达式中,你的
$('#Name..
调用缺少结束引号。a那只是一个复制粘贴错误-检查了代码文件,它们就在那里。你可以使用/^\w+$/i
而不是/^[a-Za-z]+$/
@webbandit:不,你不能。他不想匹配数字或下划线。我想我可能有它-我在正则表达式声明中漏掉了一个;-我希望是这样-现在就去测试。。。