مقتطف · جافاسكربت

الفرق بين encodeURIComponent() و encodeURI() في JavaScript

تاريخ التحديث: 5 أكتوبر 2026قراءة دقيقة

باختصار

الفرق العملي بين encodeURIComponent() و encodeURI() في JavaScript: متى تستخدم كلاً منهما، مع جدول مقارنة وأمثلة على الناتج.

يُستخدم encodeURIComponent() و encodeURI() لترميز النصوص في الروابط (URLs)، ولكن لكلٍ منهما استخدام مختلف حسب السياق. هذا المقتطف يوضح الفرق بينهما ومتى يستخدم كل منهما.

أوجه المقارنة

الخاصيةencodeURIComponent()encodeURI()
الغرض الأساسيترميز جزء من الرابط (مثل قيم المعاملات في الاستعلام)ترميز الرابط كاملاً دون الإخلال ببنيته
الرموز التي يقوم بترميزها:, /, ?, &, =, # وغيرها من الرموز الخاصةلا يُرمّز الرموز: :, /, ?, &, =, #
متى يُستخدم؟عند ترميز قيمة مفردة داخل الرابطعند ترميز رابط كامل
مثال على المُدخل"hello world & name=ِAli""https://example.com/test?name=Ali Ola"
الناتجhello%20world%20%26%20name%3DAlihttps://example.com/test?name=Ali%20Ola

الخلاصة

  • استخدم encodeURIComponent() عندما تريد ترميز مدخلات المستخدم أو أجزاء من الرابط.
  • استخدم encodeURI() عندما تحتاج إلى ترميز رابط كامل ولكن دون التأثير على بنية الرابط الأصلية.

جدول الترميز باستخدام النسب المئوية

الرمزالترميز
(مسافة)%20
$%24
&%26
' (علامة اقتباس مفردة)%27
(%28
)%29
*%2A
+%2B
,%2C
/%2F
:%3A
;%3B
=%3D
?%3F
@%40
[%5B
]%5D
^%5E
_%5F
{%7B
**``**
}%7D
~%7E