2010-11-23 142 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) 

它会给你的数字