मेरी साइट पर एक उपयोगकर्ता फॉर्म का यूआरएल दर्ज करेगा

    url = "https://www.website.com/shop/SHOPNAME/location/LOCATION"

मैं SHOPNAME और LOCATION सबस्ट्रिंग निकालना चाहता हूं। इनपुट यूआरएल की संरचना हमेशा इस रूप की होगी (या कम से कम अगर वे नहीं हैं तो मैं एक त्रुटि वापस कर दूंगा)। मुझे विशेष वर्णों, एक निश्चित प्रत्यय या एक निश्चित उपसर्ग को पार्स करने के तरीके के बारे में उत्तर मिल गए हैं, लेकिन दो अलग-अलग सबस्ट्रिंग नहीं।

मुझे अपने सर्वर से HTTP प्राप्त करने का अनुरोध करने के लिए इन स्ट्रिंग्स की आवश्यकता है। स्ट्रिंग निकालने का विकल्प, अगर मैं HTTP अनुरोध पर पूरा यूआरएल भेज सकता हूं तो मैं अपने सर्वर साइड एप्लिकेशन को आवश्यक चीज़ों के लिए आसानी से बदल सकता हूं। ऐसा करने के लिए मुझे कभी भी / के साथ एक \ (मुझे लगता है) को प्रीपेड करने की आवश्यकता होगी - इसलिए वैकल्पिक रूप से अगर किसी के पास इसका समाधान हो तो यह आश्चर्यजनक होगा!

इस पर किसी भी प्रकार की सहायताबहुत प्रशंसनीय होगी! धन्यवाद

1
greenPlant 19 मई 2020, 22:35

2 जवाब

सबसे बढ़िया उत्तर

चूंकि इनपुट यूआरएल की संरचना हमेशा उस रूप की होगी, आप बस यह कर सकते हैं:

url = "https://www.website.com/shop/SHOPNAME/location/LOCATION"
var subString = url.split( '/' );
var shopName = subString[4];
var shopLocation = subString[6];
1
Shehan Wisumperuma 19 मई 2020, 22:52

यहां एक रेगेक्स का उपयोग कर एक समाधान।

let url = "https://www.website.com/shop/SHOPNAME/location/LOCATION"
let regex = /\/shop\/(.*)\/location\/(.*)/i;
let matches = regex.exec(url);
if (matches.length === 3) {
  let shopname = matches[1];
  let location = matches[2];
  console.log(shopname, location);
}
2
Paul 19 मई 2020, 22:46