用tel:number替换正常号码

时间:2017-01-12 04:51:15

标签: javascript replace

我正在阅读有关https://www.daniweb.com/programming/web-development/threads/369751/iphone-telephone-numbers-active-link-to-call#post1593120

的文章

我不明白$1的含义是什么。请你帮助我好吗?

其次,我正在研究这段代码

$('li').each(function() {
  $(this).html( $(this).html().replace(/(\d\d\d-\d\d\d-\d\d\d\d)/g,'<a href="tel:$1">$1</a>') );
});

请您帮我更换一串10个号码并通过链接拨打电话。

2 个答案:

答案 0 :(得分:0)

关于

  

我不明白$ 1的含义是什么

以下是您需要检查的内容:JavaScript Regular Expressions

  

请您帮我更换一串10个号码并通过链接拨打电话。

你得到的代码完全正常。

dim txtbox as TextBox
for each txtbox in Controls.OfType(Of TextBox)
$('li').each(function() {
  $(this).html( $(this).html().
      replace(/(\d\d\d-\d\d\d-\d\d\d\d)/g,'<a href="tel:$1">$1</a>') );
});

或者用于测试<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> </script> <ul> <li>123-456-7890</li> <li>Call us: 123-456-7890</li> </ul>$1等等:

$2
$('li').each(function() {
  $(this).html( $(this).html().
      replace(/(\d\d\d)-(\d\d\d)-(\d\d\d\d)/g,
              '<a href="tel:$1$2$3">$1-$2-$3</a>') );
});

答案 1 :(得分:0)

在正则表达式中,(...)内的所有内容都在捕获组中“捕获”。 (上口标题)这些都按照它们出现的顺序记住,1,2等......

要稍后在使用正则表达式的函数中访问这些组,您可以将其数字引用与$一起使用。

所以这里/(\d\d\d-\d\d\d-\d\d\d\d)/将电话号码捕获到捕获组$1中,该组在替换字符串中引用,bada bing bada boom,放置在href和innerHTML中的电话号码。一举设置搜索和替换。

参考: regular-expressions.info