Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ฟังก์ชัน encodeURI() ใน JavaScript

ฟังก์ชัน encodeURI() ใช้เข้ารหัส (encode) URI ทั้งหมด โดยแทนที่อักขระพิเศษด้วยรูปแบบ %xx ยกเว้น reserved characters ที่มีความหมายพิเศษใน URI

ไวยากรณ์

encodeURI(uri)

ตัวอย่าง

<html> <head>    <title>JavaScript Example</title> </head> <body>    <script type="text/javascript">       var result1 = encodeURI('https://www.qries.com/?x=шеллы');       document.write(result1);       document.write("<br>");       var result2 = encodeURI('https://www.tutorialspoint.com/?x=шеллы');       document.write(result2);    </script> </body> </html>

ผลลัพธ์

https://www.qries.com/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B https://www.tutorialspoint.com/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B

อักขระที่ไม่ถูกเข้ารหัส (Reserved characters):

; , / ? : @ & = + $ # - _ . ! ~ * ' ( )

เมื่อไหร่ใช้ encodeURI vs encodeURIComponent:

  • encodeURI(): เข้ารหัส URL ทั้งหมด (มี protocol, domain, path, query)
  • encodeURIComponent(): เข้ารหัสค่า parameter เดียว (query value, path segment)

ตัวอย่างการใช้งานจริง:

const baseUrl = 'https://api.example.com/search';
const query = 'ไทย & English';
const url = baseUrl + '?q=' + encodeURIComponent(query);
// https://api.example.com/search?q=%E0%B8%94%E0%B8%B2%E0%B8%A3%20%26%20English