我在可变var字符串中有一个字符串值,可以是

var string = '$ <input id='text'>';


要么

var string = <input id='text'>;


我需要替换<input...之前的任何内容,无论它可能是$还是任何单词。如果不存在任何内容,则需要在var newValue中添加新值。

我尝试了如下操作,但是只有在输入标签之前有东西时,它才能正常工作。

function replaceValue(newVal) {
  amount.html(amount.html().replace(/[^\s]+/, newVal));
}


如果输入标签之前不存在任何内容,可以通过任何方式限制该值,并以任何方式限制该<input...不应被替换?

最佳答案

截断输入之前的所有内容,并添加要替换的字符串。

要修复代码,您可以执行以下操作:

function replaceValue(newVal) {
  amount.html(newVal + amount.html().slice(amount.html().indexOf('<input')));
}


可以在这里找到没有jQuery的可运行示例:https://jsfiddle.net/rffxbfhj/

07-28 07:13