可能重复:
Javascript replace undefined error ends but not replace continues
我有这些格式的字符串:
(800)1234567
(800)123.4567
(800).123.4567
800.123.4567
1(800).123.4567
1.800.123.4567
(800)123 4567
800 123 4567
等等
到
<span>string</span>
通过我想做的javascript。
这是我的代码:
var avidno = '1.(800).123.1234';
var bodytext = document.body.innerHTML;
var newbodytext;
function validate () {
var regex = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;
alert('bingo');
if (regex.test(avidno)) {
alert('bingo');
var avidno_new = '<span>'+avidno+'</span>';
var newbodytext = bodytext.replace(new RegExp(avidno, "g"), avidno_new);
document.body.innerHTML = newbodytext;
// Valid international phone number
} else {
alert('uupss');
// Invalid international phone number
}
}
validate();
代码运行良好但如果找到字符串就好 (800).123.1234
它不能在字符串之前和之后添加span标记。
和等等格式表示所有北美电话号码格式。