这是代码的一部分,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变量匹配。
有人能解释一下上面的正则表达式是什么意思,或者至少指出了某个方向。感谢。
答案 0 :(得分:4)
/\s+/g
表示“匹配在整个字符串上重复一次的任何空格/制表符”。
因此它用一个空格替换任何多个空格/制表符。
您的问题似乎是您使用区域设置字符串来描述您的值,因为您将字符串0.98
(由JS投放)与1,34
进行比较(不能由JS投射,因为,
将是一千个分隔符)