我在JS中有脚本:
$("#mailstextarea").on("change keyup paste click", function(){
var text = this.value;
var rez = text.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
document.getElementById("emails").innerHTML = rez;
for(var i = 0; i < rez.length; i++){
addRow(rez[i]);
}
})
当在#mailstextarea中键入带有邮件的文本时,我在div #emails中看到了此邮件,但是在rez.length“无法读取属性'length'为null”时收到错误。为什么?谢谢!
最佳答案
如果没有匹配项,.match()
将返回null
。
只需添加if
检查:
if (rez) {
for(var i = 0; i < rez.length; i++){
addRow(rez[i]);
}
}
或者,当没有匹配项时,可以将
rez
设置为空数组。var rez = text.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi) || [];