2017-01-12 4 views
-3

私はhttps://www.daniweb.com/programming/web-development/threads/369751/iphone-telephone-numbers-active-link-to-call#post1593120はTELで通常の数を置き換える:数

上の記事を読んでいますが、私は$1の意味が何であるかを理解していません。手伝っていただけませんか?

第二に、私はあなたが電話をかけるためにリンクして10個の数字の文字列を置き換えるに私を助けてもらえこのコード

$('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>')); 
}); 

に取り組んでいます。

+1

は、あなたが仕事を持っている何が、そうでないか、そうでない場合、どのように? –

+0

一般的に使われる書式は 'Call Us' –

+0

です。 '$ 1'の意味は[ドキュメントに書かれていること]です(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ String/replace#Specifying_a_string_as_a_parameter)。 –

答えて

0

について

私はここで$ 1

の意味が何であるかを理解していない

は、あなたがチェックするために必要なものである

JavaScript Regular Expressions

はあなたが交換に私を助けてもらえ電話をかけるためのリンク付きの10個の数字の文字列。

あなたが持っているコードは完璧にうまくいきます。

または約$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">$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>

$('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>')); 
 
});
<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>

0

を正規表現では、(...)内のすべてのものは "捕獲" されますキャプチャgrでoup。 後でこれらのグループにアクセスするには、regexesで機能する関数で、$という数値参照を使用します。

ここで/(\d\d\d-\d\d\d-\d\d\d\d)/は、置換文字列bada bing bada boomで参照されるキャプチャグループ$1に電話番号をキャプチャし、hrefとinnerHTMLに配置された電話番号です。検索を設定し、1つの取り替えを置き換える。

参照: regular-expressions.info

関連する問題