我有以下网址。
http://www.xyz.com/#tabname-1-12
我需要从此网址中拆分3个值:
tabName
:#值但不想要-1-12)1
:第一个" - " 12
:第二个" - " 我该怎么做?
答案 0 :(得分:2)
答案 1 :(得分: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.
});
如果您不想使用tabname前面的#,请使用var tabname = url.match(/#(.+?)-/);
。
答案 2 :(得分:1)
在javascript中:
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);
答案 3 :(得分:0)
也许它可以帮到你。用#分割你的网址并取第二部分,然后用' - '分割,这样就得到一个像val = {'tabname','1,''12'}这样的数组。试试吧,或许更好的答案等着你。
答案 4 :(得分:0)
只需将字符串拆分两次,然后就可以访问最终数组中的值。
var input = "http://www.xyz.com/#tabname-1-12";
var after = input.split('#')[1]
var values = after.split('-');
document.write(values);
答案 5 :(得分: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>