2010-11-23 68 views
1

我真的很努力地找到解決方案,我想找到一個文本段落中的每個數字實例。Jquery查找和替換號碼

<div id='text'> 
this is the number 20px and this is the number 100 and this is the number 10. 
</div> 

所以我想拿這個,讓它輸出以下內容。 20 100 10

<script type="application/javascript"> 
     $(document).ready(function() { 

     var text = $('.text').text().toString().search(new RegExp(/^[0-9]+$/ i)); 

     alert(text);  

     });     
     </script> 

從警報我只是希望它輸出的文本,即20 100 10的號碼,我現在這是路要走,但任何幫助,把我在正確的方向我正在敲我的頭靠牆,謝謝。

+0

你的模式應該是一個數組`/ \ d +?/`,現在不能認爲正確的funcs中的。 – Zlatev 2010-11-23 17:44:09

+1

如果有負數(-100),你應該捕獲-100還是100? – 2010-11-23 17:49:39

+0

偉大的一點Mikael我修改了負數和小數的正則表達式。 :) – 2010-11-23 17:52:58

回答

1
$('#text').html().match(/\-?\d+(\.\d+)?/g).join(' ') 

創建一個字符串,其中包含在div元素中找到的所有數字。

把所有的數字陣列發現只是刪除.join()方法,你有「文」爲你的元素的ID

Plase筆記,所以你需要把它稱爲$('#text')而不是$('.text')

1

我不知道你會更換什麼,而是要找到所有的數字,這樣的事情就足夠了:

// results an array of numbers 
var results = $('#text').text().match(/\d+/g); 
1

如果使用這樣的:

var txt = $('#text').html().match(/\d+/g) 

它會給你的數字