2013-06-18 2 views
8

का अंतिम भाग प्राप्त करें मेरे पास पृष्ठों की एक श्रृंखला है जहां मुझे बटन के लिए एक विशिष्ट कोड प्राप्त करने की आवश्यकता है। मैं कोड को जो यूआरएल में यूआरएल में एक वैरिएबल में रखना चाहता हूं।jQuery यूआरएल

एक उदाहरण URL है

www.example.com/folder/code/12345/

मैं एक चर (SiteCode)

कोई जवाब के लिए अग्रिम धन्यवाद कहा जाता है में नंबर हिस्सा प्राप्त करना चाहते हैं।

jQuery/छद्म कोड:

var siteCode; 

// start function 
function imageCode(){ 
    siteCode // equals number part of URL 
    $('.button').attr('src', 'http:www.example.com/images/'+siteCode+'.jpg'); 
} 
+5

http://stackoverflow.com/questions/4758103/last-segment-of-url के संभावित शिकार की तरह 2.Consider यदि फ़ोल्डर पदानुक्रम बढ़ जाती है –

उत्तर

8
var str="url"; 

str.split("/")[3] 

आप विभाजन

+0

धन्यवाद एक बहुत, इस यह काम कर रहा मिला – huddds

10

का उपयोग मैं सुझाव देंगे कर सकते हैं:

var URI = 'www.example.com/folder/code/12345/', 
    parts = URI.split('/'), 
    lastPart = parts.pop() == '' ? parts[parts.length - 1] : parts.pop(); 

JS Fiddle demo

+0

'.pop()' का उपयोग करके चीजों को भ्रमित कर देता है क्योंकि यह विनाशकारी है और 'भागों [] 'सरणी को बदलता है। यदि आपके यूआरआई में पिछली स्लैश नहीं है, तो यह '12345' वापस करने में विफल रहता है और इसके बजाय 'कोड' देता है। इस संस्करण का उपयोग करना अधिक सीधे आगे है: 'lastPart = parts [parts.length-1]! ==' '? भागों [भागों। लम्बाई -1]: भागों [भागों। लम्बाई -2]; ' – atwixtor

11

आप यूआरएल .:

var value = url.substring(url.lastIndexOf('/') + 1); 
+1

आपको लगता है कि 'lastIndexOf ('/')' यूआरएल/स्ट्रिंग के अंतिम चरित्र के रूप में होता है? –

1

इसके अलावा के अंतिम भाग प्राप्त करने के लिए निम्नलिखित कोड का उपयोग कर सकते

var url = "www.example.com/folder/code/12345"; 
    var checkExt = /\d$/i.test(url); 
    if (checkExt) { 
     alert("Yup its a numeric"); 
    } else { 
     alert("Nope"); 
    } 
3

नहीं है एक सबसे अच्छा तरीका है यूआरएल के अंतिम भाग है लेने के लिए उपयोग करने का प्रयास जैसे कि वास्तविक कार्यान्वयन में आमतौर पर उपयोग किया गया है।

कुछ पहले से दिए गए जवाब में कमियां हैं था:

1.Consider प्रति उम्मीद के रूप में ऊपर कोड में से कोई भी से अगर वहाँ (बिना '/' फ़ॉरवर्ड स्लैश) www.example.com/folder/code/12345 की तरह एक यूआरएल है क्या काम करेंगे ।

www.example.com/folder/sub-folder/sub-sub-folder/code/12345

$(function() { 
    siteCode = getLastPartOfUrl('www.example.com/folder/code/12345/'); 
}); 

var getLastPartOfUrl =function($url) { 
    var url = $url; 
    var urlsplit = url.split("/"); 
    var lastpart = urlsplit[urlsplit.length-1]; 
    if(lastpart==='') 
    { 
     lastpart = urlsplit[urlsplit.length-2]; 
    } 
    return lastpart; 
} 
संबंधित मुद्दे