2010-07-14 14 views
8

मैं एक स्ट्रिंग path1/path2क्या jquery में php विस्फोट की तरह कोई फ़ंक्शन है?

मैं path1 और path2 के मूल्यों को प्राप्त करने की जरूरत है।

मैं इसे कैसे कर सकता हूं?


और इस तरह की स्ट्रिंग http://www.somesite.com/#path1/path2 से प्राप्त करने के बारे में क्या?

धन्यवाद

उत्तर

16

सादे जावास्क्रिप्ट स्ट्रिंग वस्तु एक split विधि है।

'path1/path2'.split('/') 

'http://www.somesite.com/#path1/path2'.split('#').pop().split('/') 

-> ['path1', 'path2'] 

हालांकि, दूसरे मामले के लिए, यह आम तौर पर नहीं स्ट्रिंग या रेगुलर एक्सप्रेशन से हैकिंग के माध्यम से अपने खुद के यूआरएल को पार्स करने के लिए एक अच्छा विचार है। यूआरएल आपके विचार से ज्यादा जटिल हैं। यदि आप एक location वस्तु या एक <a> तत्व है, तो आप मज़बूती से यूआरएल के कुछ हिस्सों को इससे बाहर , host, port, pathname, search और hash गुणों का उपयोग करके चुन सकते हैं।

+0

पॉप() का उपयोग करने के लिए +1! – meo

1
var url = 'http://www.somesite.com/#path1/path2'; 
var arr = /#(.*)/g.exec(url); 

alert(arr[1].split('/')); 
1

मैं तुम्हें इस के लिए jQuery का उपयोग करने की जरूरत है, Javascripts सादे पुराने Split() विधि आप बाहर की मदद करनी चाहिए नहीं लगता।

इसके अलावा, आपके दूसरी स्ट्रिंग के लिए यदि आप यूआरएल साथ काम कर रहे आप Location वस्तु पर एक नज़र के रूप में इस आप बंदरगाह, मेजबान तक पहुँच देता है हो सकता है आदि

0
जावास्क्रिप्ट 'path1/path2'.split('/') उदाहरण के लिए

आप उपयोग कर सकते हैं । आपको एक सरणी देता है जहां 0 पथ 1 है और 1 पथ 2 है।

jQuery, 2 एक के लिए

2
var path1 = "path1/path2".split('/')[0]; 
var path2 = "path1/path2".split('/')[1]; 

उपयोग करने के लिए यदि आप इसे अपने url से हो रही है आप ऐसा कर सकते हैं कोई जरूरत नहीं है।

var hash = window.location.hash; 
var path1 = hash.split('#')[1].split('/')[0]; 
var path2 = hash.split('#')[1].split('/')[1]; 
संबंधित मुद्दे