未捕获的TypeError:对象[对象RegExp]没有方法匹配'

时间:2014-03-03 07:25:09

标签: javascript regex

基本上是以控制台上的错误结束:

  

未捕获的TypeError:对象[对象RegExp]没有方法'匹配'

这是触发错误的代码

addMember = function addMember(e) {
    console.log(e.target);
    var s1 = new SchoolAdmission();
    s1.name = document.getElementById('name').value;
    s1.age = document.getElementById('age').value;
    s1.department = document.getElementById('department').value;
    s1.display(e.target.id);
};

validate = function validate(e) {

    if (nameInput.value == "") {
        (errorInput).innerHTML = "Please fill all columns";
        validation = false;
    }
    else if (!nameInput.match(charFilter)) {
        (errorInput).innerHTML = "Please enter only alphabets";
        validation = false;
    }

    if (ageInput.value == "") {
        (errorInput).innerHTML = "Please fill all columns";
        validation = false;
    }
    else if (!ageInput.match(numberFilter)) {
        (errorInput).innerHTML = "Please enter only numbers";
        validation = false;
    }

    if (validation) {
        addMember(e);
    }
};

我为正在构建的应用程序进行了验证。我刚刚在“添加学生”按钮上应用它,稍后将其移至“添加教师”。

<button id="addStudent" class="btn btn-success" onclick="validate(event)">Add Student</button>

这是我的小提琴http://jsfiddle.net/LPu9x/6/

我的问题是:

1)解决此错误。

2)我的验证方法是否正确?

1 个答案:

答案 0 :(得分:1)

nameInput是dom对象所以它没有匹配方法,你需要获取输入的值然后使用.match

nameInput.value.match(charFilter)