我正在做以下事情来替换字符串的某些部分。我想替换字符串的所有三个出现但它不起作用。
var hdnval = document.getElementById("hdnColgval").value = response;
$("#ddcolgs").val($("#ddcolgs").val().replace(/'+hdnval+'/g, response));
答案 0 :(得分:1)
您正尝试将字符串附加到regex
,这会导致错误。如果您只是替换字符串,请尝试:
var hdnval = document.getElementById("hdnColgval").value = response;
$("#ddcolgs").val($("#ddcolgs").val().replace(hdnval, response));
如果#hdnColgval
的值应该是正则表达式,请使用:
var hdnval = document.getElementById("hdnColgval").value = response;
var regex = new Regex(hdnval, 'g');
$("#ddcolgs").val($("#ddcolgs").val().replace(regex, response));
答案 1 :(得分:0)
您不能以这种方式从变量创建正则表达式。尝试:
.replace(new RegExp(hdnval, 'g'), response);
答案 2 :(得分:0)
要在正则表达式中使用变量,请使用新的Regexp方法:
var hdnval = document.getElementById("hdnColgval").value,
re = new RegExp(hdnval, "g");
$("#ddcolgs").val(function(i,v) {
return v.replace(re, response);
});
答案 3 :(得分:0)
您的实施几乎是正确的,jssut删除引号。你不需要它们
var hdnval = document.getElementById("hdnColgval").value = response;
$("#ddcolgs").val($("#ddcolgs").val().replace(/hdnval/g, response));
答案 4 :(得分:0)
$("#ddcolgs").val(function(i, val) {
return val.replace(RegExp(hdnval,'g'), response);
}