Как избежать специальных символов в Eval, используя JavaScript? - PullRequest
5 голосов
/ 30 сентября 2010
var input;

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

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

метод 1 работает нормально, но метод 2 не работает при вводе новой строки символов и говорит «неопределенный строковый литерал» .

Мне все равно нужно хранить значения, используя eval . Поэтому, пожалуйста, помогите мне.

Ответы [ 2 ]

4 голосов
/ 30 сентября 2010

Используйте string.replace(/\r?\n/g, "\\n") для выхода из перевода строки.

1 голос
/ 30 сентября 2010

Это потому, что вы на самом деле оцениваете код, который выглядит следующим образом, что, конечно, неправильно в javascript

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

Зачем вам нужен Eval? Это выглядит не очень необходимо в этом случае. Может быть, мы можем помочь вам обойтись с Eval?

...