JavaScript 的单引号转义字符格式
Single Quote Escape Character Formatting for JavaScript
我有一个我觉得很容易回答的问题:我有代码
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 就可以理解一切都应该只是一个字符串。对字符串格式和转义字符有一点帮助吗?
如果您使用的是 .NET 版本 4 或更高版本,则可以使用 HttpUtility.JavaScriptStringEncode。
如果您只想转义 JavaScript 中的撇号,您可以尝试将它们简单地替换为 \’
:
s = s.replace("'", "\'");
它不会影响你进一步使用这个字符串,所以如果你将它写入控制台,它会输出一个没有反斜杠的结果:
var s = "De'Leon";
s = s.replace("'", "\'");
console.log(s); // > De'Leon
我有一个我觉得很容易回答的问题:我有代码
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 就可以理解一切都应该只是一个字符串。对字符串格式和转义字符有一点帮助吗?
如果您使用的是 .NET 版本 4 或更高版本,则可以使用 HttpUtility.JavaScriptStringEncode。
如果您只想转义 JavaScript 中的撇号,您可以尝试将它们简单地替换为 \’
:
s = s.replace("'", "\'");
它不会影响你进一步使用这个字符串,所以如果你将它写入控制台,它会输出一个没有反斜杠的结果:
var s = "De'Leon";
s = s.replace("'", "\'");
console.log(s); // > De'Leon