JavaScript的单引号转义符格式

本文关键字:格式 转义 单引号 JavaScript | 更新日期: 2023-09-27 17:57:36

我有一个问题,我觉得答案很简单:我有代码

   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对象时,客户的名称将显示在"applicationName"变量中。问题是,如果我输入一个像"De'Leon"这样的名称,由于转义序列不正确,控制台中会抛出JS错误。。并且该字符串将不能被正确读取。我想接受从我的C#Viewdata对象传入的任何字符串,并动态处理撇号,这样就不会引发错误,并且我的javascript可以理解所有内容都应该是一个字符串。字符串格式和转义符方面的一些帮助?

JavaScript的单引号转义符格式

如果您只想在JavaScript中转义撇号,您可以尝试简单地用'’:替换它们

s = s.replace("'", "''");

它不会影响你对这个字符串的进一步处理,所以如果你把它写到控制台上,它会输出一个没有反斜杠的结果:

var s = "De'Leon";
s = s.replace("'", "''");
console.log(s); // > De'Leon

如果您使用的是.NET版本4或更高版本,则可以使用HttpUtility.JavaScriptStringEncode.