0

这是代码的一部分,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 变量匹配。

有人可以解释一下上面的正则表达式是什么意思,或者至少可以为我指明某个方向。谢谢。

4

1 回答 1

4

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

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

似乎您的问题是您使用语言环境字符串来描述您的值,因为您正在将字符串0.98(由 JS 转换)与1,34不能由 JS 转换,就像,一千个分隔符一样)

于 2013-05-28T09:44:41.517 回答