Javascript 测试regexp匹配是否工作不正常

Javascript 测试regexp匹配是否工作不正常,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,我有一个HTML表单,并编写了一个JavaScript/jQuery脚本,用于测试字段是否与regexp匹配。但是,发生的情况是,regexp测试仪不工作,并且与我输入的任何字符串都匹配。这是我的密码: HTML <input type="text" name="name" id="name" required> <span id="namecheck"></span> JS $("#name").keyup(function () { if (

我有一个HTML表单,并编写了一个JavaScript/jQuery脚本,用于测试字段是否与regexp匹配。但是,发生的情况是,regexp测试仪不工作,并且与我输入的任何字符串都匹配。这是我的密码:

HTML

<input type="text" name="name" id="name" required>
<span id="namecheck"></span>

JS

$("#name").keyup(function () {
    if (/^[A-Za-z \-]{0,35}/.test($(this).val())) {
        $("#namecheck").html("<i style=\"color:green\">Match!</i>");
    } else {
        $("#namecheck").html("<i style=\"color:darkred\">No match!</i>");
    }
});
$(“#名称”).keyup(函数(){
if(/^[A-Za-z\-]{0,35}/.test($(this.val())){
$(“#名称检查”).html(“匹配!”);
}否则{
$(“#名称检查”).html(“不匹配!”);
}
});


由于我是一个JS新手(最近开始学习),我可能犯了一些非常愚蠢的错误,但是如果有任何帮助,我将不胜感激。

您可能希望在正则表达式的末尾有一个
$
。美元符号表示它是字符串的结尾,因此如果将其添加到正则表达式中,则它将只匹配长度为0到35的字符串:

/^[A-Za-z \-]{0,35}$/