Этот ответ предоставляет jQuery и обычные JS-методы, но это кратчайший, не используя DOM:
unescape(escape("It's > 20% less complicated this way."))
Снятая строка: It%27s%20%3E%2020%25%20less%20complicated%20this%20way.
Если экранированные пространства вас беспокоят, попробуйте:
unescape(escape("It's > 20% less complicated this way.").replace(/%20/g, " "))
Снятая строка: It%27s %3E 20%25 less complicated this way.
К сожалению, функция escape()
была устаревшей в JavaScript версии 1.5 . encodeURI()
или encodeURIComponent()
являются альтернативами, но они игнорируют '
, поэтому последняя строка кода превратится в это:
decodeURI(encodeURI("It's > 20% less complicated this way.").replace(/%20/g, " ").replace("'", '%27'))
Все основные браузеры по-прежнему поддерживают короткий код и получают количество старых сайтов, я сомневаюсь, что скоро это изменится.