正则表达式匹配特定的URL JavaScript
Regex to Match Specific URL JavaScript
我试图匹配一个特定的URL(http://www.example.me/area/?si=),允许我从si获得值。Si值将是动态的
http://www.example.me/area/?si=4077765获取任意查询字符串值
function qstr(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;
}
检查查询字符串是否存在
function isset_qstr(field) {
var url = vp_furl();
if (url.indexOf('?' + field + '=') != -1) {
return true;
} else if (url.indexOf('&' + field + '=') != -1) {
return true;
}
return false;
}
我认为你需要第一个函数。如果你认为它有帮助,请投票。
谢谢。祝你好运
假设查询字符串中si
键的值始终是数字(即:0 - 9),试试这个…
var url = 'http://www.example.me/area/?test=4894&si=4077765&f=fjjjf',
si = url.match(/.*['?&]si=('d+)/i)[1];
或者更一般一点的…
function getQueryStringValue(url, key) {
var regex = new RegExp('.*[''?&]' + key + '=(''d+)', 'i');
return url.match(regex)[1];
}
如果不是数字,试试这个…
/.*['?&]si=('w+)/i
解释:
- 。*匹配0到无限次 之间的任何字符(换行符除外)
- ['?&]是否匹配单个字符?或者,
- si=匹配字符si=字面意思(不区分大小写)
- ('d+)第一个捕获组。匹配1到无限次之间的任意数字[0-9]
- i修饰符-不区分大小写
regex101
我认为这样做可以达到目的:
var regex = /http':'/'/www'.example'.me'/area'/'?si=('w*)/;
var url = 'http://www.example.me/area/?si=4077765';
var si = url.match(regex)[1]; // si = '4077765'
正则表达式的第一部分就是你的URL "'"用于转义特殊字符。
('d+)是一个捕获组,它匹配a-z, a-z, 0-9中的所有字符,包括0到n次迭代中的_(下划线)字符。
- Decode URL Javascript/JQuery
- 阅读重写URL-javascript
- 出现在Twitter帖子中的页面URL - Javascript
- 从图像URL javascript html保存图像文件
- WebView加载URL(“javascript:XYZ”)在我的网络视图中执行了好几次
- 如何将javascript添加到url javascript中
- 获取请求的页面url javascript
- 通过网络浏览器从 URL javascript 读取文件
- window.location.url Javascript
- 以字符串形式返回 HTML 内容,给定 URL.Javascript 函数
- 在页面加载时将变量附加到 URL |JavaScript
- 来自 url javascript 的 Prase 查询字符串
- 从url javascript中提取部件
- 在给定URL Javascript/Jquery函数的情况下,以字符串形式返回HTML内容
- 正则表达式匹配特定的URL JavaScript
- 干净的方式给MVC url javascript库
- 如果数据包含URL, Javascript将无法解析JSON
- XMLHTTP从变量而不是url - javascript
- 在URL javascript中传递时间值出错
- 包括外部URL javascript文件