function recdecode(url)
{
url+="";
var original_string = url;
if(url.toLowerCase().includes("https"))
{
url = decodeURIComponent(url);
if(url === original_string)
return url;
else
return recdecode(url)
}
else
{
return url;
}
}
//Test function recdecode()
// url data
let uri = "https://w3schools.com/mytest.asp?name=stale&car=saab";
/// Test unencoded data
let uri_enc = uri;
console.log("Unencoded Link test output" + recdecode(uri_enc));
//test multiple encodings
console.log("URI: "+uri);
uri_enc = encodeURIComponent(uri);
console.log("encURI: "+uri_enc);
uri_enc = encodeURIComponent(uri_enc);
console.log("encURI: "+uri_enc);
uri_enc = encodeURIComponent(uri_enc);
console.log("encURI: "+uri_enc);
console.log("Multiple encodings output: " + recdecode(uri_enc));
// integer 0 test
uri_enc = 0;
console.log("Integer 0 test output: " + recdecode(uri_enc));
// null data test
uri_enc = null;
console.log("Null 0 test output: " + recdecode(uri_enc));
// undefined data test
uri_enc = undefined;
console.log("Undefined test output: " + recdecode(uri_enc));
// Object data test
uri_enc = {"test":1,"sec":"test"};
console.log("Object test output: " + recdecode(uri_enc));