2010-10-08 61 views
11

在下面的例子选定的文本,文本被使用jQuery选择。我们如何通过摆脱其他数据来隔离货币?使用正则表达式(正则表达式),以取代在的jQuery/JavaScript的

这种尝试在使用JavaScript的replace没有工作:

var symbol = $("div.price > h5 > div.num").text().replace(/[\d.]*/, ""); 

这是例如HTML; jQuery选择工作:

<div class="price"> 
    <h5 class="biguns"> 
    <div class="num"> 
     €12.28 
    </div> 
    Lowest Price Per Night 
    </h5> 
</div> 

回答

24

的点必须进行转义othwerwise将每一个字符匹配,并且必须设置全局修改:如果货币始终是第一个字符

var symbol = $("div.price > h5 > div.num").text().replace(/[\d\.]+/g, ""); 
+1

jQuery没有正则表达式引用,正则表达式和替换函数a重新都是纯JavaScript。 -1表示无用的评论。 – mck89 2014-01-14 08:23:28

+1

确定,然后JS正则表达式参考 – 2014-01-14 09:33:54

+3

这不是没用,我在网络搜索引擎中键入“jQuery的正则表达式”和看到的例子,但没有链接这个问题的完整列表 – 2014-01-14 09:34:33

2
var symbol = $("div.price > h5 > div.num").text().replace(/\d+\.?\d+/, ""); 
+0

不幸的是,这不符合12没有任何小数位。不能总是假定你会有一致的输入。 – 2010-10-08 13:10:11

+0

-1没有链接到jQuery正则表达式参考 – 2014-01-13 20:35:34

+0

js正则表达式参考even – 2014-01-14 09:34:59

0

它是一个字符长,你可以很容易地得到它与

var symbol = $(".num").text().substr(0,1);