我在JavaScript下面有一个URL字符串
URL - "/MyProject/Information/EmpDetails.aspx?userId=79874&countryId=875567"
现在,我需要做以下两件事
检查国家/地区是否存在上述网址,上面的网址中只有一个countryId
获取countryId值表示875567。
非常感谢大家对这种良好的反应。我得到了解决方案,大部分答案都是正确的。
还有一个问题伙计我有超链接,所以我在onmousedown事件时会产生一些活动。但问题是即使我只做右键点击它就会触发..但我想要的事件只有点击超链接才会点击双击或右键单击,然后单击
答案 0 :(得分:1)
使用
获取网址window.location.href
并且
与'?'分开?首先,'&'下一步' ='这样你就可以获得countryId
OR
直接拆分' ='并从分割后得到的数组中获取最后一个值
答案 1 :(得分:0)
这样的事情怎么样:
var TheString = "/MyProject/Information/EmpDetails.aspx?userId=79874&countryId=875567";
var TheCountry = parseInt(TheString.split('=').pop(), 10);
然后你只需要测试TheCountry
是否为if (TheCountry) { ...}
这当然假设URL查询字符串最后总是有国家ID。
答案 2 :(得分:0)
您需要使用indexOf()
和substring()
var ind = url.indexOf("countryId");
if (ind != -1){
// value is index of countryid plus length (10)
var countryId = url.substring(ind+10);
}else{
//no countryid
}
答案 3 :(得分:0)
var url ='/MyProject/Information/EmpDetails.aspx?userId=79874& countryId=875567';
alert((url.match(/countryId/g) || []).length);
alert(url.substring(url.lastIndexOf('=')+1));
您可以获取第一个警报中任何字符串出现的计数,并通过子字符串获取countryid值。
答案 4 :(得分:0)
这会将您的网址查询转换为对象
var data = url.split('?')[url.split('?').length - 1].split('&').reduce(function(prev, curr){
var fieldName = curr.split('=')[0];
var value = curr.split('=').length > 1 ? curr.split('=')[1] : '';
prev[fieldName] = value;
return prev
}, {});
然后您可以检查data.country的值以获取值
答案 5 :(得分:0)
您也可以拆分字符串并查看countryId是否存在,如下所示。
var myString = "/MyProject/Information/EmpDetails.aspx?userId=79874&countryId=875567";
myString = myString.split("countryId="); //["/MyProject/Information/EmpDetails.aspx?userId=79874&", "875567"]
if (myString.length === 2) {
alert (myString.pop());
}