Kaip užkoduoti ir iššifruoti URL „JavaScript“?
URL kodavimas ir dekodavimas JavaScript yra būtinas kuriant žiniatinklio kūrimą, ypač kai pateikiamos GET užklausos su užklausos parametrais. Šis procesas užtikrina, kad serveris teisingai interpretuotų specialiuosius URL simbolius. Pavyzdžiui, tarpai URL konvertuojami į %20 arba +. Šiame vadove aprašoma, kaip naudoti „JavaScript“ funkcijas, tokias kaip encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() ir unescape() efektyviam URL kodavimui ir dekodavimui.
Pavyzdys:
- Atidarykite www.google.com ir parašykite paieškos užklausą geeks geeks.
- Kai pasirodys paieškos rezultatai, stebėkite naršyklės URL juostą. Naršyklės URL vietoje tarpo sudarys %20 arba + ženklas.
- URL bus rodomas taip: https://www.google.com/search?q=geeks%20for%20geeks arba https://www.google.com/search?q=geeks+for+geeks
Pastaba : naršyklė automatiškai konvertavo tarpus į + arba %20 ženklus.
URL kodavimas: Koduoti Javascript galima naudojant:
Turinys
- 1. JavaScript encodeURI funkcija
- 2. JavaScript encodeURIComponent() funkcija
- 3. JavaScript pabėgimo() funkcija
- 1. JavaScript decodeURI() funkcija
- 2. JavaScript decodeURIComponent() funkcija
- 3. JavaScript unescape() funkcija
- 4. JavaScript užklausų eilutės modulis
1. JavaScript encodeURI funkcija
The encodeURI() funkcija naudojamas pilnam URI koduoti. Ši funkcija koduoja specialųjį simbolį, išskyrus (, / ?: @ & = + $ #) simbolius.
Sintaksė:
encodeURI( complete_uri_string );Javascript
const url = 'https://www.google.com/search?q=geeks for geeks'; const encodedURL = encodeURI(url); console.log(encodedURL)
Išvestis
https://www.google.com/search?q=geeks%20for%20geeks
2. JavaScript encodeURIComponent() funkcija
The encodeURIComponent() funkcija naudojamas kai kurioms URI dalims ar komponentams koduoti. Ši funkcija užkoduoja specialiuosius simbolius. Be to, jis užkoduoja šiuos simbolius: , / ? : @ & = + $ #
Sintaksė:
encodeURIComponent( uri_string_component );Javascript
const component = 'geeks for geeks'; const encodedComponent = encodeURIComponent(component); console.log(encodedComponent);
Išvestis
geeks%20for%20geeks
3. JavaScript pabėgimo() funkcija
„JavaScript“ pabėgimo () funkcija paima eilutę kaip vieną parametrą ir užkoduoja eilutę, kuri gali būti perduodama kompiuterių tinklu, kuris palaiko ASCII simbolius. Kodavimas yra paprasto teksto konvertavimo į šifruotą tekstą procesas.
Sintaksė:
escape( string )
Pastaba: Funkcija escape() koduoja tik specialiuosius simbolius, ši funkcija nebenaudojama.
Išimtys: @ – + . /*_
Javascript const url = 'https://www.google.com/search?q=geeks for geeks'; const encodedURL = encodeURI(url);// encoding using encodeURI console.log(encodedURL) console.log(' ' + escape(url)); //encoding using escape Išvestis
https://www.google.com/search?q=geeks%20for%20geeks https%3A//www.google.com/search%3Fq%3Dgeeks%20for%20geeks
URL dekodavimas
Dekoduoti Javascript galima naudojant
1. JavaScript decodeURI() funkcija
The decodeURI() funkcija naudojamas URI, sugeneruotam iššifruoti encodeURI() .
Sintaksė:
decodeURI( complete_encoded_uri_string )
Pavyzdys : Šiame pavyzdyje aprašoma decodeURI() funkcija apie Javascript .
Javascript const url = 'https://www.google.com/search?q=geeks%20for%20geeks'; const decodedURL = decodeURI(url); console.log(decodedURL)
Išvestis
https://www.google.com/search?q=geeks for geeks
2. JavaScript decodeURIComponent() funkcija
The decodeURIComponent() funkcija naudojamas kai kurioms URI dalims arba komponentams, sugeneruotoms naudojant encodeURIComponent().
Sintaksė:
decodeURIComponent( encoded_uri_string_component )
Pavyzdys : Šiame pavyzdyje aprašoma decodeURIComponent() Javascript.
Javascript const component = 'geeks%20for%20geeks' const decodedComponent = decodeURIComponent(component); console.log(decodedComponent)
Išvestis
geeks for geeks
3. JavaScript unescape() funkcija
Ši funkcija paima eilutę kaip vieną parametrą ir naudoja ją, kad iškoduotų eilutę, užkoduotą naudojant funkciją Escape (). Šešioliktainė seka eilutėje pakeičiama simboliais, kuriuos jie atstovauja, kai dekoduojama per unescape() funkcija.
Sintaksė:
unescape(string)
Pastaba: Ši funkcija iškoduoja tik specialiuosius simbolius, ši funkcija nebenaudojama.
Išimtys: @ – + . /*_
Javascript const url = 'https://www.google.com/search?q=geeks for geeks'; const encodedURL = encodeURI(url); console.log(encodedURL) console.log(escape(url)); console.log(decodeURI(encodedURL)); console.log(unescape(encodedURL));
Išvestis
https://www.google.com/search?q=geeks%20for%20geeks https%3A//www.google.com/search%3Fq%3Dgeeks%20for%20geeks https://www.google.com/search?q=geeks for geeks https://www.google.com/search?q=geeks for ...
4. JavaScript užklausų eilutės modulis
Užklausos eilutės modulis teikia paslaugų, skirtų URL užklausų eilėms analizuoti ir formatuoti. Jis gali būti naudojamas URL komponentams koduoti ir iššifruoti.
URL kodavimas:
Norėdami užkoduoti URL, galime naudoti funkciją querystring.stringify(), kad sukurtume užklausos eilutę iš objekto, o tada naudodami encodeURIComponent() užkoduoti gautą eilutę.
JavaScript const querystring = require('querystring'); const urlParams = { q: 'geeks for geeks', page: 1, sort: 'desc' }; const encodedURL = 'https://www.google.com/search?' + querystring.stringify(urlParams); console.log(encodedURL);
Išvestis:
https://www.google.com/search?q=geeks%20for%20geeks&page=1&sort=desc
URL dekodavimas:
Norėdami iššifruoti URL, galime naudoti funkciją querystring.parse(), kad išanalizuoti užklausos eilutę į objektą ir pasiekti iššifruotas reikšmes.
JavaScript const decodedParams = querystring.parse('q=geeks%20for%20geeks&page=1&sort=desc'); console.log(decodedParams.q); // Output: geeks for geeks console.log(decodedParams.page); // Output: 1 console.log(decodedParams.sort); // Output: desc
DecodeURIComponent ir decodeURI skirtumas:
| decodeURIComponent | decodeURI | |
|---|---|---|
| Apibrėžimas | Funkcija decodeURIComponent() naudojama kai kurioms URI dalims arba komponentams, sugeneruotoms naudojant encodeURIComponent(), iššifruoti. | Dekoduoti Javascript galima naudojant decodeURI funkciją. |
| Sintaksė | decodeURIComponent( encoded_uri_string_component ) | decodeURI(pilnas_užkoduotas_uri_string ) |
| Specialus simbolių kodavimas | Tam reikia encodeURIComponent(url) eilutės, kad galėtų iššifruoti šiuos simbolius. | Tam reikia encodeURI(url) eilutės, todėl negali iššifruoti simbolių (, / ? : @ & = + $ #) |
| Pavyzdys | decodeURIComponent(%41) Grąžina A decodeURIComponent(% 26): grąžina & | decodeURI(%41): grąžina A decodeURI(%26): grąžina %26 |
URL kodavimas ir dekodavimas JavaScript yra labai svarbus sklandžiam žiniatinklio kūrimui. Naudodami tokias funkcijas kaip encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() ir unescape(), kūrėjai gali užtikrinti, kad jų URL būtų tinkamai suformatuoti ir skaitomi serverių. Šis įgūdis yra būtinas tvarkant užklausos parametrus GET užklausose ir užtikrina sklandžią naudotojo patirtį jūsų svetainėje.