Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Эта страница была переведена с английского языка силами сообщества. Вы тоже можете внести свой вклад, присоединившись к русскоязычному сообществу MDN Web Docs.

encodeURI()

BaselineWidely available

МетодencodeURI () кодирует универсальный идентификатор ресурса (URI), замещая некоторые символы на одну, две, три или четыре управляющие последовательности, представляющие UTF-8 кодировку символа (четыре управляющие последовательности будут использованы только для символов, состоящих из двух «суррогатных» символов).

Интерактивный пример

const uri = "https://mozilla.org/?x=шеллы";const encoded = encodeURI(uri);console.log(encoded);// Expected output: "https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"try {  console.log(decodeURI(encoded));  // Expected output: "https://mozilla.org/?x=шеллы"} catch (e) {  // Catches a malformed URI  console.error(e);}

Синтаксис

encodeURI(URI)

Параметры

URI

ПолныйURI.

Возвращаемое значение

Новая строка, представляющая собой строку-параметр, закодированную в виде универсального идентификатора ресурса (URI).

Описание

Предполагается, что URI является полным URI, поэтому метод не кодирует зарезервированные символы, имеющие особое значение в URI.

encodeURI заменяет все символы,кроме следующих с соответствующими UTF-8 управляющими последовательностями:

ТипВключения
Зарезервированные символы;,/?:@&=+$
Неэкранируемые символылатинские буквы, десятичные цифры,-_.!~*'()
Score#

Заметим, чтоencodeURI сам по себе не может сформировать правильные HTTP GET и POST запросы, такие как XMLHTTPRequests, потому, что "&", "+", и "=" не закодированы, которые воспринимаются как специальные символы в GET и POST запросах.encodeURIComponent, однако, кодирует эти символы

Замечание:URIError будет брошена, если попытаться закодировать суррогат, который не является частью высоко-низкой пары, например:

js
// низко-высокая пара - нормальноconsole.log(encodeURIComponent("\uD800\uDFFF"));// один высокий суррогат бросит "URIError: malformed URI sequence"console.log(encodeURIComponent("\uD800"));// один низкий суррогат бросит "URIError: malformed URI sequence"console.log(encodeURIComponent("\uDFFF"));

Также заметим, что следуя наиболее свежейRFC3986 для URL, которая делает квадратные скобки защищёнными (для IPv6) и таким образом не кодирует, когда формирование чего-либо, не являющегося частью URL (такое как домен), следующий сниппет поможет:

js
function fixedEncodeURI(str) {  return encodeURI(str).replace(/%5B/g, "[").replace(/%5D/g, "]");}

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-encodeuri-uri

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp