我正在做以下事情来替换字符串的某些部分。我想替换所有三个出现的字符串,但它不起作用。
var hdnval = document.getElementById("hdnColgval").value = response;
$("#ddcolgs").val($("#ddcolgs").val().replace(/'+hdnval+'/g, response));
我正在做以下事情来替换字符串的某些部分。我想替换所有三个出现的字符串,但它不起作用。
var hdnval = document.getElementById("hdnColgval").value = response;
$("#ddcolgs").val($("#ddcolgs").val().replace(/'+hdnval+'/g, response));
您正在尝试将字符串附加到regex
会导致错误的 a 。如果您只是替换字符串,请尝试以下操作:
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));
您不能以这种方式从变量创建正则表达式..尝试:
.replace(new RegExp(hdnval, 'g'), response);
要在正则表达式中使用您的变量,请使用新的 Regexp 方法:
var hdnval = document.getElementById("hdnColgval").value,
re = new RegExp(hdnval, "g");
$("#ddcolgs").val(function(i,v) {
return v.replace(re, response);
});
Your implementation is almost correct, jssut remove the quotes. You don't need them
var hdnval = document.getElementById("hdnColgval").value = response;
$("#ddcolgs").val($("#ddcolgs").val().replace(/hdnval/g, response));
$("#ddcolgs").val(function(i, val) {
return val.replace(RegExp(hdnval,'g'), response);
}