Javascript 如何在span regexp中包装价格?

Javascript 如何在span regexp中包装价格?,javascript,jquery,regex,price,Javascript,Jquery,Regex,Price,我想把一件商品的价格限定在一个区间内。现在,RegExp包装的是数字,而不是$(美元符号)。我需要一个包含全部价格的正则表达式 HTML <fieldset> <label> <input>Thing $4.99</input> </label> </fieldset> JQUERY var rxp = new RegExp("([0-9]+\.?[0-9]+)", "gm"); $( "

我想把一件商品的价格限定在一个区间内。现在,RegExp包装的是数字,而不是$(美元符号)。我需要一个包含全部价格的正则表达式

HTML
<fieldset>
  <label>
   <input>Thing $4.99</input>
  </label>
</fieldset>

JQUERY
    var rxp = new RegExp("([0-9]+\.?[0-9]+)", "gm");
      $( "fieldset label" ).each(function() {                
        var $this = $(this);
        var content = $this.html();
        console.log($(this).html());
        $this.html(content.replace(rxp, "<span>$1</span>"));
      });
HTML
东西4.99美元
JQUERY
var rxp=新的RegExp(“([0-9]+\?[0-9]+)”,“gm”);
$(“字段集标签”)。每个(函数(){
var$this=$(this);
var content=$this.html();
log($(this.html());
$this.html(content.replace(rxp,$1));
});

这不是正确的方法
html()
方法将返回html标记,但更改它不会更改DOM。相反,您应该清空父级并在其中附加新的span。此外,您正在以错误的方式使用
input
标记,它不能有子项,您应该将value设置为
value
attr:

// HTML
<fieldset>
  <label>
   <input value="Thing $4.99" />
  </label>
</fieldset>

// JavaScript
var priceRegExp = /^.*(\$[0-9](\.[0-9]{2})?).*$/;
$("fieldset label").each(function() {                
  var $this = $(this);
  var inputVal = $this.children('input').prop('value');
  var price = priceRegExp.exec(inputVal)[1];
  $this.empty().append('span').text(price);
});
//HTML
//JavaScript
var pricelegexp=/^.*(\$[0-9](\.[0-9]{2}).$/;
$(“字段集标签”)。每个(函数(){
var$this=$(this);
var inputVal=$this.children('input').prop('value');
var price=priceRegExp.exec(inputVal)[1];
$this.empty().append('span').text(价格);
});

这不是正确的方法
html()
方法将返回html标记,但更改它不会更改DOM。相反,您应该清空父级并在其中附加新的span。此外,您正在以错误的方式使用
input
标记,它不能有子项,您应该将value设置为
value
attr:

// HTML
<fieldset>
  <label>
   <input value="Thing $4.99" />
  </label>
</fieldset>

// JavaScript
var priceRegExp = /^.*(\$[0-9](\.[0-9]{2})?).*$/;
$("fieldset label").each(function() {                
  var $this = $(this);
  var inputVal = $this.children('input').prop('value');
  var price = priceRegExp.exec(inputVal)[1];
  $this.empty().append('span').text(price);
});
//HTML
//JavaScript
var pricelegexp=/^.*(\$[0-9](\.[0-9]{2}).$/;
$(“字段集标签”)。每个(函数(){
var$this=$(this);
var inputVal=$this.children('input').prop('value');
var price=priceRegExp.exec(inputVal)[1];
$this.empty().append('span').text(价格);
});

通过转义添加一个美元符号
(\$[0-9]+\.?[0-9]+)
通过转义添加一个美元符号
(\$[0-9]+\.?[0-9]+)
明白了,很遗憾,我无法控制shopify插件的HTML输出…这已经接近了。它清空了输入,这不是我想要的,而是将价格移动到另一个跨度之外。。。我想我可以从这里拿走它!thxgotcha,可悲的是,我无法控制shopify插件的HTML输出…这很接近。它清空了输入,这不是我想要的,而是将价格移动到另一个跨度之外。。。我想我可以从这里拿走它!谢谢