2016-09-07 14 views
2

私はすべての連絡先番号を得ることができますが、結果はテキスト形式(80453187629632427326)で来ています。私はテキストの結果を得ることができますどのように私はそれらを配列にプッシュすることができます

arrayにはどうすれば["9632427326","8045318762"]のように保存できますか? 私はプッシュと同じ意味です。

私のDOMは次のとおりです。私は、配列(プッシュと同様)したいテキストだけを返す

<span style="font-weight:bold;" class="number"> 
    <span id="mob0">0 
</span>8045318762  
<script type="text/javascript"> whichVer('ver0'); </script> 
</span> 
<span style="font-weight:bold;" class="number"> 
    <span id="mob1">1 
</span>9632427326 
<script type="text/javascript"> whichVer('ver1'); </script> 
</span> 

**I am using something like this:** 

alert($('.number').contents().filter(function() { 
    return this.nodeType == 3; 
}).text()); 

ご協力いただきありがとうございます。

答えて

2

map()get()を使用して数値の配列を返すことができます。

var data = $('.number').contents().map(function() { 
 
    if (this.nodeType == 3 && this.textContent.trim() != '') return Number(this.textContent); 
 
}).get(); 
 

 
console.log(data)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span style="font-weight:bold;" class="number"> 
 
    <span id="mob0">0 
 
</span>8045318762 
 
</span> 
 
<span style="font-weight:bold;" class="number"> 
 
    <span id="mob1">1 
 
</span>9632427326 
 
</span>

0

あなたは、モバイル・ノーテキストを除外しないように正規表現を使用することができます。

function getMobArr(){ 
    var arr=[]; 
    $.each($(".number"),function(index,value){ 
     //filter text with regex for mobile 10 digit no. 
     var match=$(value).text().match(/([\d]{10})/i); 
     arr.push(match[1]); 
    }) 
    return arr; 
} 

出力:

[ "8045318762"、 "9632427326"]

このよう
関連する問題