私は次のURLを持っています。URLから部分文字列を検索
tabName
:http://www.xyz.com/#tabname-1-12
私はこのURLから3つの値を分割する必要があります。#値はなく)-1-12
1
を望んでいない:最初の値を最初の後に " - "12
:秒後の第二の値 " - "
私はこれをどのように行うことができますか?
私は次のURLを持っています。URLから部分文字列を検索
tabName
: http://www.xyz.com/#tabname-1-12
私はこのURLから3つの値を分割する必要があります。#値はなく)-1-12
1
を望んでいない:最初の値を最初の後に " - "12
:秒後の第二の値 " - "私はこれをどのように行うことができますか?
です。
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/
正規表現の下にしてみてください。あなたのURLを#で分割して2番目の部分を取り出し、 ' - 'で分割すると、val = {'tabname'、 '1、' '12'}のような配列が得られます。それを試してみてください。おそらくもっと良い答えがあなたを待っています。
文字列を2回分割して、最後の配列から値にアクセスするだけで済みます。 JavaScriptで
var input = "http://www.xyz.com/#tabname-1-12";
var after = input.split('#')[1]
var values = after.split('-');
document.write(values);
:
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);
簡単な方法は、私は正規表現とスプリットを使用することをお勧めします、
<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>
これは、この正確なURLとtabnameというタブでのみ機能します。彼らが望んでいるのはそれが疑わしい。 –
? – diEcho
'分割が必要です.'JavaScriptには' split'(https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/String/split)という関数があります。それは何かを推測してください;) – Roman