2011-12-12 15 views
0

私は次のURLを持っています。URLから部分文字列を検索

  • tabName

    http://www.xyz.com/#tabname-1-12 
    

    私はこのURLから3つの値を分割する必要があります。#値はなく)-1-12

  • 1を望んでいない:最初の値を最初の後に " - "
  • 12:秒後の第二の値 " - "

私はこれをどのように行うことができますか?

+1

? – diEcho

+2

'分割が必要です.'JavaScriptには' split'(https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/String/split)という関数があります。それは何かを推測してください;) – Roman

答えて

2

です。

HTML:

<div id='url'>http://www.xyz.com/#tabname-1-12</div> 

Javascriptを:

$(function() { 

    // set this to the element containing the actual URL 
    var url = $('#url').html(); 


    // get tabname 
    var tabname = url.match(/(#.+?)-/); 
    tabname = tabname[1]; 

    // you can now use the var tabname, which contains #tabname 

    var ids = url.split('-'); 


    var idone = ids[1]; 
    var idtwo = ids[2]; 

    // idone contains 1, idtwo contains 12. 


}); 

使用var tabname = url.match(/#(.+?)-/);あなたがTABNAMEの前に#をたくない場合。

の作業例:uはこれまでにやっていること http://jsfiddle.net/QPxZX/

2

は、多分それはあなたを助け

#(.*)-(.*)-(.*) 

DEMO

0

正規表現の下にしてみてください。あなたのURLを#で分割して2番目の部分を取り出し、 ' - 'で分割すると、val = {'tabname'、 '1、' '12'}のような配列が得られます。それを試してみてください。おそらくもっと良い答えがあなたを待っています。

0

文字列を2回分割して、最後の配列から値にアクセスするだけで済みます。 JavaScriptで

var input = "http://www.xyz.com/#tabname-1-12"; 
var after = input.split('#')[1] 
var values = after.split('-'); 
document.write(values); 

http://jsfiddle.net/infernalbadger/E2q8q/

0

var url = 'http://www.xyz.com/#tabname-1-12'; 
// get values behind last slash 
var threeValues = url.substring(url.lastIndexOf('/')).split('-'); 

var one = threeValues(0).substr(1); // get tabname 
var two = threeValues(1);  
var three = threeValues(2); 
0

簡単な方法は、私は正規表現とスプリットを使用することをお勧めします、

<html> 
<body> 
<script type="text/javascript"> 
    var str = "http://www.xyz.com/#tabname-1-12"; 
    var val1 = str.substr(20,7); 
    var val2 = str.substr(28,1); 
    var val3 = str.substr(31,2); 

function displayVal() 
{ 
    alert("val1 = "+val1+"\nval2 = "+val2+"\nval3 = "+val3); 
} 
</script> 

URL: http://www.xyz.com/#tabname-1-12; 

<input type="button" name="btn" value="Click" onclick="displayVal()" /> 

</body> 
</html> 
+0

これは、この正確なURLとtabnameというタブでのみ機能します。彼らが望んでいるのはそれが疑わしい。 –

関連する問題