Javascript替换未定义的错误结束,但不替换继续
Javascript replace undefined error ends but not replace continues
可能重复:
Javascript替换未定义的错误显示!
朋友们,我用这段代码获得了成功:
var avidno = '800.123.1234';
var bodytext = document.body.innerHTML;
var newbodytext;
function validate () {
var regex = /^'(?([0-9]{3})')?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;
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();
试试这个(不确定跨浏览器):
newaltr = bodytext.replace(avidno, altrstr, "g");
您的正则表达式包括^和$,它们强制正则表达式只匹配整个字符串。这可能就是更换失败的原因。
试试这个(未经测试):
var avidno = '(800)123 1234';
var bodytext = document.body.innerHTML;
var newaltr;
function validate () {
var format = ''(?([0-9]{3})')?[-. ]?([0-9]{3})[-. ]?([0-9]{4})';
var bodytext, altrstr, newtext;
if (RegExp('^' + format + '$').test(avidno)) {
// This could be done in a single line, but this way it's clearer
bodytext = document.body.innerHTML;
altrstr = '<span>'+avidno+'</span>';
newtext = bodytext.replace(RegExp(format, 'g'), altrstr);
document.body.innerHTML = newtext;
// Valid international phone number
} else {
alert('uupss');
// Invalid international phone number
}
}
validate();
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 我如何找到一个句子中的所有空格并替换忽略它们
- 如何用更合适的内容替换document.write
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 在DOM中查找一个模式并替换它's的内容使用jquery
- 用空格替换下划线PHP
- str.split(someString).join(someOtherString)是否等效于替换
- 使用javascript的图像替换循环
- window.location替换并传递URL历史记录条目中的变量
- 替换标记中的属性
- 指令的模板必须只有一个根元素:With restrict E&替换true
- 为什么继续;语句冻结浏览器
- AngularJs对ng消息的自定义替换
- 用超链接替换URLS
- 用cdata标记替换脚本标记
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 在javascript中,I'我很难弄清楚如何让regex只替换捕获而不替换匹配
- 替换url中变量的值
- 将css background-image: url(…)替换为标签,并继续滚动效果
- Javascript替换未定义的错误结束,但不替换继续