代码之家  ›  专栏  ›  技术社区  ›  A.N.M. Saiful Islam

如何使用javascript转义eval中的特殊字符?

  •  5
  • A.N.M. Saiful Islam  · 技术社区  · 14 年前
    var input;
    
    // method 1
    input = document.getElementById('address').value;
    alert(input)
    
    // method 2
    eval('input = "'+document.getElementById('address').value+'"')
    alert(input)
    

    方法1有效 方法2不起作用 什么时候 换行符 输入字符并显示 “未终止的字符串文本” .

    我需要使用存储值 不管怎样。所以请帮帮我。

    2 回复  |  直到 14 年前
        1
  •  4
  •   Aaron Digulla    14 年前

    string.replace(/\r?\n/g, "\\n")

        2
  •  1
  •   ChrisR    14 年前

    这是因为您实际上是在评估这样的代码,这在javascript中当然是错误的

    ​var test = "Lorem ipsum
        dolor sit amet"; ​​​​​​​​​​​​​​​​​
    

        3
  •  0
  •   Zmey    5 年前

    尝试:

       const address = document.getElementById('address').value
       eval('input = ' + JSON.stringify(String(address)))
    

    字符串(地址)将保证对象是字符串。