Javascript"替换"没有处理通过jQuery返回的字符串

时间:2014-06-17 01:03:47

标签: javascript jquery replace

我试图将货币字符串转换为数字。我正在使用替换函数和regexp,我之前在类似的上下文中成功使用过。

此处捕获货币字符串,部分为"每个"循环:

var unitGridPrice = jQuery(this).find(".clsPriceGridDtlPrice").html();

结果是unitGridPrice是一个货币字符串,类似于" $ 2.75"。我试图将其转换为数字:

var priceToConvert = unitGridPrice;
var unitGridPriceNo = Number(priceToConvert.replace(/[^0-9\.]+/g, ''));

然而,在最后一行的情况下,脚本将无法运行。

如果我使用priceToConvert的值,它会正确显示货币文本字符串,所以我相信提供替换功能的字符串是正确的。

如果我改变" var priceToConvert = unitGridPrice" to" var priceToConvert =" $ 2.75"该脚本正确返回2.75。我可以将unitGridPrice显示的值复制并传递到我正在测试的文本字符串中,并且它可以正常工作,但是随着变量的存在,脚本就会死掉。

我已尝试删除正则表达式,将替换更改为.replace(' $','')并再次使用变量停止脚本但如果我使用固定字符串进行测试,则可以正常工作。

我真的很难过。救命??!!谢谢!!!

1 个答案:

答案 0 :(得分:0)

我在尝试从字符串中获取数字时遇到了一些问题,不久之前。问题是正则表达式,所以我改变了正则表达式,如下面的代码。

var id = element.name.replace ( /[^\d.]/g, '' );
上面的

element.name就像input_21,input_22等,我只想得到数字(21,22)。 希望它可以帮到你。 :)