有人可以解释这个正则表达式的作用吗?

时间:2013-05-28 09:42:38

标签: javascript regex

这是代码的一部分,javascript应该注意一些价格和匹配,如果它比所需的情人好,但我不太了解正则表达式,很明显错误就在那里。

所以在网站上我有价格

<div class="item_price_now">   $ 1,34 </div>

在javascript部分代码看起来像这样

var maxprice = '0.98';

var itemprice = document.getElementByClassName('item_price_now');
var i = 0;

var currentprice = itemprice[i].innerHTML.replace(/\s+/g, ' ');
currentprice = currentprice.substring(2);

if (currentprice > maxprice)
{ do some code }
else 
{ do some other code }

但是这不起作用,我假设错误的一部分在正则表达式中,我没有得到任何值,我试图将其改为这样的

(\S+\w)

它正在输出一些东西(实际上我输出的是1,34)但仍然无法与maxprice变量匹配。

有人能解释一下上面的正则表达式是什么意思,或者至少指出了某个方向。感谢。

1 个答案:

答案 0 :(得分:4)

/\s+/g表示“匹配在整个字符串上重复一次的任何空格/制表符”。

因此它用一个空格替换任何多个空格/制表符。

您的问题似乎是您使用区域设置字符串来描述您的值,因为您将字符串0.98(由JS投放)与1,34进行比较(不能由JS投射,因为,将是一千个分隔符)