Javascript 从url中获取数字
我需要从url获取id。 因此,如果url是这样的: 我应该得到数字11作为输出。 但每个站点都有不同的id。然后,我将用它设置z索引 我已经试着写点东西了Javascript 从url中获取数字,javascript,jquery,regex,Javascript,Jquery,Regex,我需要从url获取id。 因此,如果url是这样的: 我应该得到数字11作为输出。 但每个站点都有不同的id。然后,我将用它设置z索引 我已经试着写点东西了 $.urlParam = function (name) { var patt1 = new RegExp('[^17241]').exec(window.location.href); return result[1] || 0; document.getElementById("link").innerHTML = result;}
$.urlParam = function (name) {
var patt1 = new RegExp('[^17241]').exec(window.location.href);
return result[1] || 0;
document.getElementById("link").innerHTML = result;}
但这根本不起作用。
有人知道该怎么做吗
因此,现在应该更改z索引:
var url = window.location.href;
var params = url.split('?');
var id = params[1].split('=')[1]; //params[1] will contain everything after ?
console.log(id);
if(id == 11)
{
$(“#one”).each(function() {
$(this).css(“z-index“, 0);
});
}
else if(id == 31)
{
$(“#four”).each(function() {
$(this).css(“z-index“, 0);
});
}
它应该改变div的z索引
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server">
<div class="contentwidth" id="chartdiv">
<asp:Label ID="lblStatus" runat="server"></asp:Label>
<div id="one" style="position: absolute; top: 0; left: 0; height: 100%; width: 100%;">
<asp:Literal ID="ltrRenderChart" runat="server"></asp:Literal>
</div>
<div id="two" style="position: absolute; top: 0; left: 50%; height: 100%; width: 100%; z-index:-1">
<asp:Literal ID="ltrRenderChart2" runat="server"></asp:Literal>
</div>
<div id="three" style="position: absolute; top: 50%; left: 0; height: 100%; width: 100%; z-index:-1">
<asp:Literal ID="ltrRenderChart3" runat="server"></asp:Literal>
</div>
<div id="four" style="position: absolute; top: 50%; left: 50%; height: 100%; width: 100%; z-index:-1 ">
<asp:Literal ID="ltrRenderChart4" runat="server"></asp:Literal>
</div>
</div>
谢谢您可以使用
regex
:
alert(window.location.href.match(/\?id=(\d+)/i)[1]);
\?
:匹配?
。需要通过\
id=
:匹配精确的字符串id=
\d+
:匹配任意数量的数字()
:分组i
:不区分大小写的匹配您可以使用
split()
编辑
要获取var url
中的url,请将第一行替换为
var url = window.location.href;
如果你想要它作为一个实际的数字,我会写一个通用的版本
function getParamAsNumber(url, param) {
param = param + '=';
if (url.indexOf(param) !== -1) {
return parseInt(url.substr(url.indexOf(param) + param.length));
}
}
它将param+'='后的字符串转换为整数(在您的示例中为'id=')
所以你可以
getParamAsNumber(window.location.href, 'id');
这叫做查询字符串 这是函数
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
你怎么称呼我
getParameterByName(name)
以上代码来自这里
我使用此方法从当前窗口的URL获取任何参数:
function obtainParameter(key) {
var result=null, tmp;
window.location.search //this attribute stores the string found after a ‘?’ in the URL, including the question mark.
.substr(1) //removing question mark in position 0
.split("&") //obtaining the pairs key=value
.forEach(function (item) {
tmp = item.split("="); // tmp[0] is the parameter name, tmp[1] is the value
if (tmp[0] === key) result = decodeURIComponent(tmp[1]);
});
return result;
}
有了它,你只需要写:
var id=obtainParameter('id');
您可以使用拆分函数:
string.split(分隔符、限制)
这个小任务不需要正则表达式。 您可以使用以下功能获取您的需求:
function getvalue(murl,para)
{
try
{
return (murl.split(para+"=")[1]).split("&")[0];
}
catch(e)
{
return '';
}
}
var murl = 'http://localhost:17241/Chart.aspx?id=11';
var id = getvalue(murl,'id');
当找不到GET参数时,它不会返回任何内容
就你而言:
var id = getvalue(window.location.href,'id');
您可以使用此函数通过JS获取查询字符串参数:
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split('&');
for(var i=0; i<vars.length; i++) {
var pair = vars[i].split('=');
if(pair[0] == variable) {
return pair[1];
};
}:
return(false);
};
@如果有许多参数,AnoopJoshi将不起作用。要获得的id,您会怎么做?为什么不在服务器端将id值输出到javascript中?@Converator我已经尝试在c#内部执行此操作,因为我有一个if-else,并且我使用了scriptmanager。但是我做不到。但是当url应该从上面读取时,我该怎么做?@fusionchart\u help您可以使用
window.location.href
。检查更新的回答,但如何获取变量var中的url?已经@Zee解释过。如何获取变量url中的url?@fusionchart\u帮助。请参阅更新。
var str = "http://localhost:17241/Chart.aspx?id=11";
var res = str.split("=", 2);
document.getElementById("link").innerHTML = res[1];
function getvalue(murl,para)
{
try
{
return (murl.split(para+"=")[1]).split("&")[0];
}
catch(e)
{
return '';
}
}
var murl = 'http://localhost:17241/Chart.aspx?id=11';
var id = getvalue(murl,'id');
var id = getvalue(window.location.href,'id');
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split('&');
for(var i=0; i<vars.length; i++) {
var pair = vars[i].split('=');
if(pair[0] == variable) {
return pair[1];
};
}:
return(false);
};
var yourID = getQueryVariable('id');