如何从url字符串中获取参数off的值
how to get the value off parameter from the url string?
链接:http://yaezde.localhost/machen/mach-den-impfcheck/question=2
我知道如何使用window.location.href;获取整个url;但在那之后,我想知道什么是正则表达式来获得问题参数值。
答案:var问题=2
我试过这个代码。。但不适用于我的场景
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/['[']]/g, "''$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/'+/g, " "));
}
var foo = getParameterByName('question');
您的代码中存在几个问题。
function getParameterByName(name, url) {//note parameter url
if (!url) url = window.location.href;
name = name.replace(/['[']]/g, "''$&");
var regex = new RegExp("[?&''/](" + name + "=([^&#]*))(?:&|#|$)");
// ^^^ ^ in your example /question=2
results =regex.exec(url);
console.log(results);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/'+/g, " "));
}
var url='http://yaezde.localhost/machen/mach-den-impfcheck/question=2'
var foo = getParameterByName('question', url);//include url in arguments or it will be undefined in the function
console.log(foo);
//Another way to access url in the function scope
function getParameterByName(name){
//get url from global scope if exists
var url = url || window.location.href;
//other things
}
与其重新发明轮子,我建议使用现有的库https://github.com/Mikhus/domurl或https://medialize.github.io/URI.js
这些库的API应该易于使用,并且已经过测试。
相关文章:
- ROR:如何在不重新加载浏览器的情况下从控制器获取参数
- 如何在reactrouterv2.+中从URL获取参数
- 如何获取参数的值
- 从从字符串创建的函数中获取参数列表
- jquery从url中获取参数也会在控制台日志中留下url
- 从Javascript中的URL获取参数
- IFrame 从不同域上的父 url 获取参数
- 如何使用React Router在Route Handler上获取参数
- Angularjs-如何从URL获取参数
- 从外部函数获取参数名称
- PHP从带有url的变量中获取参数
- 是否可以在 JavaScript 中按函数名称获取参数
- JS .replace(str, str):如何获取参数 1 中的变量并全局工作
- 从页面网址获取参数
- 如何在 router.use 中定义参数时获取参数
- 如何从 JavaScript 中的 JSON 对象获取参数的名称
- 我将一个函数(本身有一个参数)作为参数传递给另一个函数以及如何获取参数
- 如何获取参数对象的子集?(关于具有可变大小的参数)
- Javascript对象通信并从其他对象获取参数
- Websocket 从查询中获取参数