替换字符串Jquery

时间:2012-12-11 08:50:23

标签: javascript jquery

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

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

5 个答案:

答案 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);
}
相关问题