我有一个问题,我觉得很容易回答:我有代码
function ApplicantNameMatchedInitialPayment() {
var applicantName = '<%= ViewData["ApplicantName"] %>';
var fullName = applicantName.split(' ');
if (fullName.length == 2)
{
var firstName = fullName[0].toLowerCase();
var lastName = fullName[1].toLowerCase();
var nameOnCard = $("#name-on-card").val().toLowerCase();
if(nameOnCard.includes(firstName) & (nameOnCard.includes(lastName)))
{
return true;
}
}
return false;
}
我正在尝试处理我的用户使用撇号输入其名称的情况。在实时执行期间填充ViewData对象时,客户的名称将显示在“applicantName”变量中。问题是如果我输入像“De'Leon”这样的名称,由于转义序列不正确而在控制台中抛出了JS错误..并且字符串将无法正确读取。我想获取从我的C#Viewdata对象传入的任何字符串并动态处理撇号,以便不会抛出任何错误,因此我的javascript知道所有内容都应该只是一个字符串。对字符串格式化和转义字符有一点帮助吗?
答案 0 :(得分:0)
如果您使用的是.NET 4或更高版本,则可以使用HttpUtility.JavaScriptStringEncode。
答案 1 :(得分:0)
如果您只想在JavaScript中转义撇号,可以尝试用\’
替换它们:
s = s.replace("'", "\'");
它不会影响您使用此字符串的进一步工作,因此如果您将其写入控制台,它将输出一个没有反斜杠的结果:
var s = "De'Leon";
s = s.replace("'", "\'");
console.log(s); // > De'Leon