使用Javascript从变量中删除字符

使用Javascript从变量中删除字符,javascript,Javascript,我的变量如下所示: response=“{tradeofferid:'63341523'}” 我想删除除字母和分号以外的所有字符 我尝试使用replace函数,但出现了一些错误 function(err, response) { if (err) { throw err; } var result = response; result = result.replace(/[{}]/g, ""); console.log(offerSt

我的变量如下所示:

response=“{tradeofferid:'63341523'}”

我想删除除字母和分号以外的所有字符

我尝试使用replace函数,但出现了一些错误

  function(err, response) {
    if (err) {
      throw err;
    }

    var result = response;

    result = result.replace(/[{}]/g, "");

    console.log(offerStatus);

    res.end(result);

  });
我的控制台指向replace,错误日志显示:undefined不是一个函数

我想要的结果是

response = "tradeofferid: 63341523"

您需要在
.replace
方法中设置要替换的内容。尝试:

var result = response.replace(/[^A-Za-z0-9\: ]/g, "")
。。。如果你真的想要一个字符串来显示或者做些什么,但是我猜你实际上只是想解析JSON并传递对象,但是还没有意识到

response = { tradeofferid: '63341523' };
alert(response.tradeofferid);

for(var name in response) {
    alert(name);
    var value = response[name];
    alert(value);

}

responseString = name + " : " + value;
alert(responseString);

你可以试试这个,但这个答案只针对你的问题。如果“响应”对象中有多个属性,则此操作将不起作用

response=tradeofferid:63341523
不是有效的javascript。除非您只想将其作为字符串?听起来您实际上是在询问如何使用Javascript对象。当您声明response={tradeofferid:'63341523'}时,它将成为对象。它不再是字符串,因此如果要格式化它,则应首先检索值(通过response.tradeofferid),然后对其进行格式化。@Arpit Parasana解决了它,并直接给了我正确的值。谢谢。这将它转换为response=“[object object]”哦,那么您是从一个对象开始的,而不是像您在问题中所说的JSON字符串。您的意思是“response={tradeofferid:'63341523'}”
response = { tradeofferid: '63341523' };
alert(response.tradeofferid);

for(var name in response) {
    alert(name);
    var value = response[name];
    alert(value);

}

responseString = name + " : " + value;
alert(responseString);