javascript正则表达式验证未按预期工作

javascript正则表达式验证未按预期工作,javascript,regex,Javascript,Regex,我已经在js文件的顶部声明了这个正则表达式- var regexName = /^[ A-Za-z]+$/ 此外,我还有一个验证功能——它可以在页面提交时启动,也可以在页面上的某些文本框上启动键控功能 $('#Name).keyup(function () { validateContactDetails(); }); 这是我的职责: function validateContactDetails() { var errorText = ""; var valid = tr

我已经在js文件的顶部声明了这个正则表达式-

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:不,你不能。他不想匹配数字或下划线。我想我可能有它-我在正则表达式声明中漏掉了一个;-我希望是这样-现在就去测试。。。