我从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);
});
答案 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"