我现在正在编码一个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文件中使用了完全相同的代码,它运行完美。有谁知道为什么现在不起作用?
答案 0 :(得分:2)
您要将 HTMLInputElement
对象传递到alphaNumCheck
中。您想改为传递其 value :
if(FirstName.value != null || (alphaNumCheck(FirstName.value))){
// Added .value here ---------------------------------^
还要注意,.value
(或其他具有HTMLInputElement
属性的HTML元素)上的.value
永远不会是null
,它总是一个字符串。因此,不需要上面的!= null
部分(如果有的话,您已经在alphaNumCheck
中有了它)。