2

我正在做以下事情来替换字符串的某些部分。我想替换所有三个出现的字符串,但它不起作用。

 var  hdnval = document.getElementById("hdnColgval").value = response;
$("#ddcolgs").val($("#ddcolgs").val().replace(/'+hdnval+'/g, response));
4

5 回答 5

1

您正在尝试将字符串附加到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));
于 2012-12-11T08:53:02.877 回答
0

您不能以这种方式从变量创建正则表达式..尝试:

.replace(new RegExp(hdnval, 'g'), response);
于 2012-12-11T08:52:55.830 回答
0

要在正则表达式中使用您的变量,请使用新的 Regexp 方法:

var  hdnval = document.getElementById("hdnColgval").value,
         re = new RegExp(hdnval, "g");

$("#ddcolgs").val(function(i,v) {
   return v.replace(re, response);
});
于 2012-12-11T08:53:43.483 回答
0

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));
于 2012-12-11T08:55:15.510 回答
0
$("#ddcolgs").val(function(i, val) {
    return val.replace(RegExp(hdnval,'g'), response);
}
于 2012-12-11T08:57:18.953 回答