Javascript 如何从正则表达式[JS]中删除第一个字符
我设法用一个非常简单的Java脚本查找并替换电话号码,但需要尽可能简单地删除第一个字符。谁能给我一个提示吗Javascript 如何从正则表达式[JS]中删除第一个字符,javascript,regex,Javascript,Regex,我设法用一个非常简单的Java脚本查找并替换电话号码,但需要尽可能简单地删除第一个字符。谁能给我一个提示吗 function cleanPhoneNumbers() { document.body.innerHTML = document.body.innerHTML.replace( /\(?(0[0-9]{2,4})\)?\-?\/?\ ?[-. ]?([0-9]{7})/g, "<a href='tel:+49
function cleanPhoneNumbers() {
document.body.innerHTML =
document.body.innerHTML.replace(
/\(?(0[0-9]{2,4})\)?\-?\/?\ ?[-. ]?([0-9]{7})/g,
"<a href='tel:+49$1$2'>$1-$2</a>"
);
}
</script>
函数cleanPhoneNumbers(){
document.body.innerHTML=
document.body.innerHTML.replace(
/\(?(0[0-9]{2,4})\?\-?\/?\?[-.]?([0-9]{7})/g,
""
);
}
简单,只需修改现有代码,使其看起来像这样
<script type="text/javascript">
function cleanPhoneNumbers() {
document.body.innerHTML =
document.body.innerHTML.replace(
/\(?(0[0-9]{2,4})\)?\-?\/?\ ?[-. ]?([0-9]{7})/g,
"<a href='tel:+49$1$2'>$1-$2</a>"
).substring(1);
}
</script>
函数cleanPhoneNumbers(){
document.body.innerHTML=
document.body.innerHTML.replace(
/\(?(0[0-9]{2,4})\?\-?\/?\?[-.]?([0-9]{7})/g,
""
).子串(1);
}
此更新的代码使用javascriptsubstring命令,数字1表示字符串的起始位置。0将是整个字符串,1在第一个字符之后开始。但是,如果第一个字符很重要怎么办?那么,您的代码没有按预期工作呢?可能提供前后示例。第一个字符是什么意思?注意:分配给
document.body.innerHTML
将完全破坏然后重建页面。这意味着任何附加到旧元素的事件处理程序都不会附加到新的替换元素(除非使用了老式的onXyz
属性)。第一个字符并不重要,因为它是一个电话号码,而正则表达式只会查找以0开头的电话号码。我把它翻译成一个国际电话号码,0被+49替换。因此,我必须对每个电话号码都这样做。太好了!我知道我必须在某个地方添加子字符串(1),但不确定如何添加,也无法自己解决。谢谢!可悲的是,它并没有像预期的那样起作用。它只会剪切body标记内的第一行。