सबसे अच्छा जावास्क्रिप्ट यूआरएल डिकोड उपयोगिता क्या है? एन्कोडिंग भी अच्छा होगा और jQuery के साथ अच्छी तरह से काम करना एक अतिरिक्त बोनस है।
सबसे अच्छा जावास्क्रिप्ट यूआरएल डिकोड उपयोगिता क्या है? एन्कोडिंग भी अच्छा होगा और jQuery के साथ अच्छी तरह से काम करना एक अतिरिक्त बोनस है।
जवाबों:
मैंने encodeURIComponent () और decodeURIComponent () का भी उपयोग किया है।
यहाँ एक पूरा कार्य है ( PHPJS से लिया गया ):
function urldecode(str) {
return decodeURIComponent((str+'').replace(/\+/g, '%20'));
}
इसे इस्तेमाल करो
unescape(str);
मैं एक महान जेएस प्रोग्रामर नहीं हूँ, सभी की कोशिश की, और यह बहुत बढ़िया काम किया!
decodeURIComponent(mystring);
आप इस बिट कोड का उपयोग करके पारित पैरामीटर प्राप्त कर सकते हैं:
//parse URL to get values: var i = getUrlVars()["i"];
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
या पैरामीटर प्राप्त करने के लिए यह एक-लाइनर:
location.search.split("your_parameter=")[1]
window.location.search
इसके बजाय उपयोग करना चाहिए ।
//How decodeURIComponent Works
function proURIDecoder(val)
{
val=val.replace(/\+/g, '%20');
var str=val.split("%");
var cval=str[0];
for (var i=1;i<str.length;i++)
{
cval+=String.fromCharCode(parseInt(str[i].substring(0,2),16))+str[i].substring(2);
}
return cval;
}
document.write(proURIDecoder(window.location.href));
यदि आप urlencode का उपयोग करके PHP में डेटा को एन्कोडिंग करने के लिए ज़िम्मेदार हैं, तो PHP का रॉर्क्लेंकोड + चरित्र को बदलने की आवश्यकता के बिना जावास्क्रिप्ट के डिकोड्यूरिकम्पोनेंट के साथ काम करता है।
यहाँ मैं क्या इस्तेमाल किया है:
जावास्क्रिप्ट में:
var url = "http://www.mynewsfeed.com/articles/index.php?id=17";
var encoded_url = encodeURIComponent(url);
var decoded_url = decodeURIComponent(encoded_url);
PHP में:
$url = "http://www.mynewsfeed.com/articles/index.php?id=17";
$encoded_url = url_encode(url);
$decoded_url = url_decode($encoded_url);
आप इसे यहाँ ऑनलाइन भी आज़मा सकते हैं: http://www.mynewsfeed.x10.mx/articles/index.php?id/17
var uri = "my test.asp?name=ståle&car=saab";
console.log(encodeURI(uri));
decodeURIComponent()
ठीक है, लेकिन आप कभी भी ओटी का उपयोग encodeURIComponent()
सीधे नहीं करना चाहते हैं। इस तरह आरक्षित वर्ण से बचें करने में विफल रहता *
, !
, '
, (
, और )
। की जाँच करें RFC3986 , जहां यह है कि अधिक जानकारी के लिए परिभाषित किया गया है,। मोज़िला डेवलपर नेटवर्क प्रलेखन एक अच्छी व्याख्या और समाधान दोनों देता है। स्पष्टीकरण ...
RFC 3986 (जो आरक्षित है ?,, (,),), और *) का पालन करने में अधिक कठोर होने के लिए, भले ही इन वर्णों में कोई औपचारिक यूआरआई परिसीमन उपयोग न हो, निम्नलिखित सुरक्षित रूप से उपयोग किया जा सकता है:
उपाय...
function fixedEncodeURIComponent(str) {
return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
return '%' + c.charCodeAt(0).toString(16);
});
}
मामले में आप निश्चित नहीं हैं , JSBin.com पर एक अच्छा, काम करने वाला डेमो देखें । सीधे उपयोग encodeURIComponent()
करते हुए JSBin.com पर एक खराब, वर्किंग डेमो के साथ इसकी तुलना करें ।
अच्छा कोड परिणाम:
thing%2athing%20thing%21
से खराब कोड परिणाम encodeURIComponent()
:
thing*thing%20thing!
encodeURIComponent
औरdecodeURIComponent
?