@309848

Как манипулировать строками, содержащими спецсимволы?

Задача - добавлять input к форме, сразу заполняя value строковыми данными. Проблема в том, что строка может содержать символы > " ' и т.п., происходит обрезание, в зависимости от стиля кавычек в скрипте. Как это можно обойти, экранирование какое-нибудь?

var marking = prompt('введите строку');

tr.children("td:first").append("<div><input type='text' name='foo' value='"+marking+"'></div>");
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
like-a-boss
@like-a-boss
Признайся,тебяТянетНаКодМужика,ты—программный гей
Нужно енкодить спецсимволы в html entities:

function encodedStr(str) {
    return str.replace(/[\u00A0-\u9999<>\&]/gim, function(i) {
        return '&#' + i.charCodeAt(0) + ';';
    });
}

var marking = prompt('введите строку');
tr.children("td:first").append("<div><input type='text' name='foo' value='" + encodedStr(marking) + "'></div>");
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы