【发布时间】:2015-05-22 22:03:41
【问题描述】:
朋友们,我取得了相当大的成功,但在替换时出现了一个未定义的错误:
这是我的新代码:
var avidno = '(800)123 1234';
var bodytext = document.body.innerHTML;
function validate () {
var regex = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/gi;
if (regex.test(avidno)) {
alert('bingo');
var altrstr = '<span>'+avidno+'</span>';
//var newaltr = bodytext.replace(avidno, altrstr);
//var str_count = bodytext.match(avidno).length; //4 matched
document.body.innerHTML = newaltr;
alert(avidno.length);
find_count = avidno.length;
for(var i=0;i<find_count;i++)
{
var newaltr = bodytext.replace(avidno, altrstr);
}
// Valid international phone number
} else {
alert('uupss');
// Invalid international phone number
}
}
validate();
【问题讨论】:
-
这可能意味着
bodytext(因此document.body.innerHTML)未定义。确保在加载文档时运行代码。提供准确的错误信息也不会错...
标签: javascript html replace