cari
Rumahhujung hadapan webtutorial jsjavascript怎么对url进行编码转换

javascript怎么对url进行编码转换

Apr 09, 2021 pm 06:56 PM
javascriptpengekodan url

javascript对url进行编码转换的方法:1、使用encodeURI()函数,可把字符串作为URI进行编码;2、使用encodeURIComponent()函数,可把字符串作为URI组件进行编码。

javascript怎么对url进行编码转换

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

项目中url遇到传参数传数组对象解析失败问题,采用转码方式解决,但并不清楚实际原理,研究了一下JS转码解码。

Javascript语言用于编码的函数,一共有三个。

  • escape()

  • encodeURI()
  • encodeURIComponent()

三种编码方式区别:

  • escapeunescape

    escape:不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值,因此可对指定的字符串进行编码。
    对除了ASCII字母、数字、标点符号"@ * _ + - . /"以外所有的空格符、标点符号、特殊字符以及其他非ASCII字符都会转化成%xx(16进制数字)格式的字符编码。即escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z。

    对应的解码函数是unescape()

  • encodeURIdecodeURI
    **encodeURI()**是Javascript中真正用来对URL编码的函数。对整个URL进行编码,除了常见的符号以外,对网址中有特殊含义的符号"; / ? : @ & = + $ , #",也不进行编码。编码后,输出符号的utf-8形式,并且在每个字节前加上%。需注意的是encodeURI()不对单引号编码。

    对应的解码函数是decodeURI()

  • encodeURIComponentdecodeURIComponent

    encodeURIComponent用于对URL的组成部分进行个别编码,而不用于对整个URL进行编码。因此,在encodeURI()中不被编码的符号"; / ? : @ & = + $ , #",在encodeURIComponent()中统统会被编码。

    因为encodeURIComponent() 会将更多的字符进行编码,比如"/"等字符。如果字符串里面包含了URI的几个部分的话,不能用这个来进行编码。否则“/”字符被编码后将URL显示错误。因此,用于参数的传递,参数包含特殊字符可能会造成间断。

综上所述:

**escape()**函数用于js对字符串进行编码。不常用

**encodeURI()**用于整个url跳转

**encodeURIComponent()**用于参数的传递,参数包含特殊字符可能会造成间断。

【推荐学习:javascript高级教程

Atas ialah kandungan terperinci javascript怎么对url进行编码转换. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Menguasai baris arahan untuk pemaju JavaScriptMenguasai baris arahan untuk pemaju JavaScriptJul 24, 2025 am 03:59 AM

Master Basic tetapi mendalam kemahiran baris perintah: mahir dalam menggunakan penyempurnaan tab, sejarah, carian CTRL R, kedudukan PWD dan LS-LA untuk melihat fail tersembunyi; 2. Menggunakan Node.js dan Pengurus Pakej dengan cekap: memanfaatkan NPMINIT-Y,--SAVE-DEV, NPX tanpa pemasangan dan operasi, skrip NPMRUN dan pemeriksaan ketinggalan zaman, dan mengoptimumkan kelajuan PNPM; 3. Kod carian yang tepat dan log: Gabungkan grep-r/-i, cari fail, jq format JSON dan XARGS untuk mencari fail JS dengan kandungan tertentu; 4. Tulis Tugas Automasi Skrip Mudah: seperti Deploy.SH One-Click Deployment, ChMod X Grant Hak Pelaksanaan; 5. Custom Sh

Bagaimana untuk memeriksa sama ada pemboleh ubah adalah array di JS?Bagaimana untuk memeriksa sama ada pemboleh ubah adalah array di JS?Jul 24, 2025 am 03:58 AM

Untuk menentukan sama ada pembolehubah adalah jenis array, kaedah array.isArray () lebih disukai, dan kedua, object.prototype.toString.call () boleh digunakan. 1.Array.IsArray (Variable) mengembalikan benar atau palsu, sesuai untuk pelayar moden dan node.js; 2.Object.prototype.toString.call (variable) === '[ObjectArray]', serasi dengan persekitaran lama. Elakkan menggunakan TypeOf dan Instanceof kerana mereka mempunyai kelemahan dalam menilai tatasusunan. Pilih kaedah yang betul mengikut keperluan anda: Keutamaan diberikan jika tidak perlu bersesuaian dengan versi lama

Strategi Pengurusan Ketergantungan JavaScriptStrategi Pengurusan Ketergantungan JavaScriptJul 24, 2025 am 03:58 AM

Pastikan versi ketergantungan konsisten, kemas kini kebergantungan secara teratur, membezakan jenis kebergantungan, dan menggunakan monorepo untuk menguruskan kebergantungan pelbagai projek. 1. Gunakan pakej-lock.json atau yarn.lock untuk mengemukakan kepada Git untuk memastikan konsistensi alam sekitar; 2. Semak pokok ketergantungan secara teratur untuk mengelakkan pemasangan dan konflik pendua; 3. Gunakan npmoutdated atau yarnoutdated untuk menyemak kemas kini, mengutamakan isu keselamatan dan menilai kesan peningkatan versi utama; 4. Jelas membezakan kebergantungan dan kebencian untuk mengelakkan alat pembangunan yang salah dalam persekitaran pengeluaran; 5. Gunakan alat seperti Lerna atau NX untuk mengurus kebergantungan bersama dan kod pelbagai projek untuk meningkatkan kecekapan kerjasama.

Strategi Ujian JavaScript Advanced dengan Jest dan PlaywrightStrategi Ujian JavaScript Advanced dengan Jest dan PlaywrightJul 24, 2025 am 03:56 AM

Gunakan Jest's mockfunctions dan pemasa untuk mengawal tingkah laku tak segerak, dan meningkatkan kecekapan ujian melalui jest.fn () dan jest.usefakeTimers (); 2. Gunakan lekapan dan pageObjectModel (POM) dalam penulis drama untuk meningkatkan penyelenggaraan dan merangkumi operasi umum dan logik halaman; 3. Jest dan penulis drama dapat bersama-sama mencapai liputan komprehensif ujian unit dan ujian akhir-ke-akhir; 4. Traceviewer Playwright boleh digunakan untuk menguji ujian gagal secara intuitif. Strategi ini masing -masing mengoptimumkan kecekapan ujian, struktur kod, liputan tahap ujian dan keupayaan debugging, dan sesuai untuk projek yang kompleks

Cara Menggunakan Bun: All-One JavaScript ToolkitCara Menggunakan Bun: All-One JavaScript ToolkitJul 24, 2025 am 03:54 AM

Bun adalah runtime JavaScript moden yang boleh menggantikan alat seperti Node.js, NPM dan Webpack. Kelebihan terasnya terletak pada kelajuan. 1. Bun dibina di atas zig, menggunakan enjin JavaScriptcore, yang boleh secara langsung menjalankan fail JavaScript dan TypeScript tanpa konfigurasi tambahan; 2. Ia mempunyai pengurus pakej terbina dalam, menyokong kebergantungan pemasangan dari NPM, dan kelajuan adalah 10-100 kali lebih cepat daripada NPM, dan menghasilkan fail kunci bun.lockb; 3. Pembungkus asli terbina dalam, menyokong pengurangan, pembolehubah persekitaran, segmentasi kod dan fungsi lain, yang boleh menggantikan webpack atau esbuild; 4. Menyediakan pelari ujian cepat dengan sintaks jest, mencari secara automatik

Komunikasi masa nyata dengan websocket JavaScriptKomunikasi masa nyata dengan websocket JavaScriptJul 24, 2025 am 03:50 AM

Untuk mencapai komunikasi masa nyata, kunci untuk menggunakan WebSocket JavaScript adalah untuk memahami penggunaan asas dan senario umum. 1. Hanya satu baris kod yang diperlukan untuk mewujudkan sambungan: constSocket = newWebsocket ('ws: //example.com/socket');, menggunakan terbuka, mesej, ralat, dan peristiwa rapat untuk mengendalikan status sambungan; 2. Hantar dan terima data dalam format JSON, hantar melalui socket.send (), dengar acara mesej untuk menerima dan menghuraikan data; 3. Mengendalikan pemotongan dan penyambungan semula, anda boleh menyambung semula secara automatik dengan mendengar peristiwa rapat dan ralat, digabungkan dengan setTimeout,

Modul ES vs Commonjs: Perbandingan terperinciModul ES vs Commonjs: Perbandingan terperinciJul 24, 2025 am 03:50 AM

Esmodul (ESM) dan CommonJs adalah dua sistem modul JavaScript. Perbezaan utama adalah sintaks, mekanisme pemuatan, masa pelaksanaan, sokongan persekitaran dan interoperabilitas. 1. Sintaks, ESM menggunakan pengisytiharan statik import/eksport, dan penggunaan biasa yang memerlukan ()/modul.exports untuk menetapkan nilai secara dinamik. 2. Dari segi mekanisme pemuatan, ESM menyokong analisis statik dan gegaran pokok. CommonJS dimuatkan secara dinamik pada masa runtime, dengan fleksibiliti yang tinggi tetapi tidak kondusif untuk pengoptimuman. 3. Dalam masa pelaksanaan, ESM boleh mendapatkan nilai terkini melalui mengikat masa nyata; Output modul cache biasa boleh mengembalikan bahagian

Strategi Pengendalian Kesalahan Lanjutan di JavaScript dan Node.jsStrategi Pengendalian Kesalahan Lanjutan di JavaScript dan Node.jsJul 24, 2025 am 03:47 AM

DefinecustomerrorclasslikevalidationerroranddatabaseerrortoenablePreciseerrorhandlinginginginstanceofandimproveloggingconsistency.2.usecentralizederror-handlingmiddlearexpress.jsbypassingerrorstonext

See all articles

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod