【问题标题】:Fetch Value of hyperlink in javascript在javascript中获取超链接的值
【发布时间】:2015-10-12 18:05:07
【问题描述】:
我有一个超链接,我需要找出一个字段的值。
我正在分享以下代码
代码:
url="http://localhost/Employee/EmployeeMgmt/EmpDetails.aspx?
EmpId=784657&From=Information Technology";
现在,我需要获取EmpId=784657 的值。
【问题讨论】:
标签:
javascript
jquery
.net
asp.net-mvc
【解决方案1】:
var url="http://localhost/Employee/EmployeeMgmt/EmpDetails.aspx?EmpId=784657&From=Information Technology",
empid = /\bEmpId=(\d+)/.exec(url)[1]
empid 是字符串“784657”
那里的小\b 可以保护您免受 SimilarEmpId 变量的影响。 decodeURI 也可能对你有用。
【解决方案2】:
您可以将 match() 与正则表达式 \bEmpId=(\d+)& 一起使用。您可以使用索引1 从结果中获取捕获组值
var url = "http://localhost/Employee/EmployeeMgmt/EmpDetails.aspx?EmpId=784657&From=Information Technology";
console.log(url.match(/\bEmpId=(\d+)&/i)[1])
【解决方案3】:
请尝试:
function search(url,param) {
var params = url.split("?")[1].split("&");
for (i in params) {
var key = params[i].split("=")[0];
if (key == param) {
return params[i].split("=")[1];
}
}
return "not found";
}
【解决方案4】:
它实际上是获取 url 的查询字符串。试试这个纯 JavaScript 代码
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, " "));
}
检索特定的查询字符串
var empId = getParameterByName('EmpId');
查看Getting Query String