只有 return 部分 class 值

Only return part of a class value

我只需要 return 类 值的一部分。我一辈子都想不出如何在“-”之前显示所有内容,然后在“-”之后显示一个单独的 return 我有

 function() {
var productprice = document.getElementsByClassName("dynamic_qty")[0].value; 
    return productprice;
    }

它 return 以此为例 '$69.61–$213.33' 我如何 return 只是 69.91?并且我如何 return 只是 213.33? 我知道我可以用

去掉 $ 符号
return productprice.replace("$", "");

但是如何获取“-”之前或之后的数字?谢谢

Html

 <div class='price'>
    <input type="text" class="dynamic_qty" id="price_18" value=".61&ndash;3.33" readonly="readonly" onfocus="this.blur()" />

</div>

使用 split() 将值拆分为数组,然后 return 第一个元素。

var productprice = document.getElementsByClassName("dynamic_qty")[0].value.split('-')[0]; 

要获得 - 之后的部分,请使用 [1] 而不是 [0]

正则表达式将成为您的朋友,您可以继续阅读它们 here

不过要回答您的问题,您可以使用“/(\d*.\d*)/”作为匹配模式

在我看来,最好的答案是对你的答案的 2 条评论的组合:

let [from,to] = 
    '.61–3.33'     //input string
    .split("–")          //split the string on the dash
    .map(p=>p.substr(1)) //remove the first character from each value
    
console.log(from,to)