簡體   English   中英

如何使用javascript在eval中轉義特殊字符?

[英]how to escape special characters within eval using javascript?

var input;

// method 1
input = document.getElementById('address').value;
alert(input)

// method 2
eval('input = "'+document.getElementById('address').value+'"')
alert(input)

方法 1 工作正常,但方法 2在輸入換行符不起作用,並顯示“未終止的字符串文字”

無論如何,我需要使用eval存儲值。 所以請幫助我。

使用string.replace(/\\r?\\n/g, "\\\\n")來轉義換行符。

那是因為您實際上正在評估看起來像這樣的代碼,這在 javascript 中當然是錯誤的

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

為什么需要評估? 在這種情況下,它看起來沒有必要。 也許我們可以幫助您解決評估問題?

嘗試:

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

String(address) 將保證該對象是一個字符串。 JSON.stringify 將返回一個可使用 eval 解析的雙引號字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM