如何从JSON响应中删除backslah-quote

时间:2018-03-14 14:20:26

标签: javascript jquery ajax replace

我从ajax调用返回的值看起来像是" 3/7/2018 \"。我需要使用此返回值设置jQuery datepicker的值,但是它将日期设置为10/04/2023。

我尝试使用以下内容删除反斜杠引用但忽略它并返回原始字符串。我在这里做错了什么?

var uNewDate = newDate.replace(/\\\"/gi, '');

这是整个功能:

function pageLoad() {
    setStartDate(new Date());
}

// \"3/7/2018\"
function setStartDate(newDate) {debugger
    $('#tbStartDate').unbind();
    $("#tbStartDate").datepicker({
        showOtherMonths: true,
        selectOtherMonths: true,
        showOn: "button",
        defaultDate: new Date(),
        buttonImage: "../assets/images/calendar.gif",
        buttonImageOnly: true,
        buttonText: "Select Start Date",
        option: "mm/dd/yy"
    });
    //var uNewDate = newDate.replace(/\\\"/gi, '');
    $("#tbStartDate").datepicker("setDate", newDate);
}

$.ajax({
    type: "POST",
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    url: "../services/easg.asmx/GetCertItemStartDate",
    cache: false,
    data: certItemID,
}).done(function (result) {debugger
    setStartDate(result.d);
}).fail(function (jqXHR, textStatus, errorThrown) {debugger
    alert(textStatus + ' - ' + errorThrown);
});

2 个答案:

答案 0 :(得分:0)

这不是使用RegEx,但这可行:



var testDateString = '\"3/7/2018\"';

var newDateString = testDateString.split('\"')
  .join('');

console.log(newDateString);




答案 1 :(得分:0)

请记住,您正在处理JSON数据作为您的回复。特殊字符在JSON中进行转义,就像您的初始示例所示。

在处理之前你需要解析它。

JSON.parse("\"3/7/2018\"")

// Result: "3/7/2018"