في هذه المقالة، سوف نتعلم كيفية تشفير وفك تشفير (URL) في جافا سكريبت، حيث توفر جافا سكريبت طرقًا مضمنة للتشفير وفك تشفير (URL).
كيفية تشفير URL في جافا سكريبت
توفر جافا سكريبت طريقتين مضمنتين قياسيتين لتشفير عنوان (URL) الكامل:
- طريقة (()encodeURL): تُستخدم وظيفة (()encodeURL) لتشفير (URL) كامل:
var uri = ‘https://javaguides.net/?x=шеллы’;
var encoded = encodeURI(url);
console.log(encoded);
try {
console.log(decodeURL(encoded));
} catch(e) { // catches a malformed URI
console.error(e);
}
- وتكون المخرجات كما يلي:
https://javaguides.net/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B
https://javaguides.net/?x=шеллы
- طريقة (()encodeURIComponent): تقوم الدالة (()encodeURIComponent) بتشفير مكون (URI):
var uri = “https://javaguides.net/my test.html?name=ram&age29”;
console.log(“before encode :: ” + uri);
var encode = encodeURIComponent(uri);
console.log(“after encode :: ” + encode);
var decode = decodeURIComponent(encode);
console.log(“after decode :: ” + decode);
- وتكون المخرجات كما يلي:
before encode :: https://javaguides.net/my test.html?name=ram&age29
after encode :: https%3A%2F%2Fjavaguides.net%2Fmy%20test.html%3Fname%3Dram%26age29
after decode :: https://javaguides.net/my test.html?name=ram&age29
هاتان الطريقتان تختلفان في الرموز التي يتم ترميزها، حيث أنه:
- ترميز الدالة (()encodeURL) الأحرف الخاصة، باستثناء: (، /؟ : @ & = + $ #)
- ترميز الدالة (()encodeURIComponent) الأحرف الخاصة، بالإضافة إلى ذلك، فإنه يشفر الأحرف التالية: (، /؟ : @ & = + $ #)
كيفية فك شفرة URL في جافا سكريبت
على غرار التشفير، توفر جافا سكريبت طريقتين مضمنتين قياسيتين لفك تشفير عنوان (URL) الكامل:
- (()decodeURI): تُستخدم وظيفة (()decodeURI) لفك تشفير (URL)، انظر المثال التالي:
var uri = ‘https://javaguides.net/?x=шеллы’;
console.log(“before encode :: ” + url);
var encoded = encodeURI(url);
console.log(“after encode :: ” + encoded);
try {
var decoded = decodeURL(encoded);
console.log();
console.log(“after decode :: ” + decoded);
} catch(e) { // catches a malformed URI
console.error(e);
}
- وتكون المخرجات كالاتي:
before encode :: https://javaguides.net/?x=шеллы
after encode :: https://javaguides.net/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B
after decode:: https://javaguides.net/?x=шеллы
- (() decodeURIComponent): تقوم دالة (()decodeURIComponent) بفك تشفير مكون (URL)، انظر المثال التالي:
var uri = “https://javaguides.net/my test.html?name=ram&age29”;
console.log(“before encode :: ” + uri);
var encode = encodeURIComponent(uri);
console.log(“after encode :: ” + encode);
var decode = decodeURIComponent(encode);
console.log(“after decode :: ” + decode);
- (() decodeURIComponent): تقوم دالة (()decodeURIComponent) بفك تشفير مكون (URL)، انظر المثال التالي:
before encode :: https://javaguides.net/my test.html?name=ram&age29
after encode :: https%3A%2F%2Fjavaguides.net%2Fmy%20test.html%3Fname%3Dram%26age29
after decode :: https://javaguides.net/my test.html?name=ram&age29