如何用正则表达式杀死tabindex="*“,并在Javascript中全部替换。
var temp = '<div class="form-group pt-4"><h4><label for="headline_2">[headline]</label><input class="form-control " id="headline_2" name="headline" placeholder="[headlineplh]" tabindex="11" type="text" value=""></h4></div><div class="form-group pt-4"><label for="description_2">[description]</label><input class="form-control " id="description_2" name="description" placeholder="[descriptionplh]" tabindex="12" type="text" value=""></div><div class="form-group pt-4"><label for="order_2">[order]</label><input class="form-control " id="order_2" name="order" placeholder="[orderplh]" tabindex="13" type="number" min="1" max="20" value="1"></div>';
document.getElementById("p").innerHTML = replaceAll(temp, new RegExp("tabindex=\"(\d)*\"", "i"), "");
function replaceAll(string, search, replace) {
return string.split(search).join(replace);
}<!DOCTYPE html>
<html>
<body>
<p id="p"></p>
</body>
</html>
发布于 2020-08-04 01:42:54
不起作用的原因是,当字符"\d“在字符串中时,它的含义与它在正则表达式中时完全不同。
这意味着new RegExp('\d')不同于new RegExp(/\d/)
因此,要修复它,您需要转义反斜杠,方法是在它后面放置另一个反斜杠。
在本例中,您应该这样做:new RegExp("tabindex=\"(\\d)*\"", "i"), "");,因为我将元字符\d替换为\\d,因为它在字符串中,所以它可以工作
https://stackoverflow.com/questions/62435215
复制相似问题