JavaScript:match不是函数

时间:2018-09-19 20:36:32

标签: javascript html

我现在正在编码一个javascript项目,并收到了我没有想到的错误。当我尝试运行时:

*在firstCheck和lastCheck中有文本输入

function firstCheck(FirstName){
    if(FirstName.value != null || (alphaNumCheck(FirstName))){
      return true;
    }
    valCheck = false;
    return false;
}

function lastCheck(LastName){
   if(LastName.value != null || (alphaNumCheck(FirstName))){
      return true;
   }
   valCheck = false;
   return false;
}


function alphaNumCheck(entry) {
   let regex = /^[a-z0-9]+$/i;
   if (entry != null && entry.match(regex)) {
      return true;
   } else {
      return false;
   }
}

我收到一个错误,指出:未捕获的TypeError:entry.match不是函数

我在我的另一个js文件中使用了完全相同的代码,它运行完美。有谁知道为什么现在不起作用?

1 个答案:

答案 0 :(得分:2)

您要将 HTMLInputElement对象传递到alphaNumCheck中。您想改为传递其 value

if(FirstName.value != null || (alphaNumCheck(FirstName.value))){
// Added .value here ---------------------------------^

还要注意,.value(或其他具有HTMLInputElement属性的HTML元素)上的.value永远不会是null,它总是一个字符串。因此,不需要上面的!= null部分(如果有的话,您已经在alphaNumCheck中有了它)。