كيفية تشفير وفك تشفير عنوان URL في جافا سكريبت

اقرأ في هذا المقال


في هذه المقالة، سوف نتعلم كيفية تشفير وفك تشفير (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

المصدر: JavaScript: The Good Parts, Douglas Crockford, 2008 edition.JavaScript: The Definitive Guide, David Flanagan, 2011 edition.PROFESSIONAL JAVASCRIPT: FOR WEB DEVELOPERS, Nicholas C. Zakas,2012 edition.JavaScript, Stephen Blumenthal, 2017 edition.


شارك المقالة: