[英]Regex to Match Specific URL JavaScript
假设查询字符串中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
解释:
获取任何查询字符串值
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; }
我认为你需要第一个功能。 如果您认为它有帮助,请投票。
谢谢你。 祝你好运
我认为这样的事情可以解决问题:
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+) 是一个捕获组,匹配 az、AZ、0-9 中的所有字符,包括 _(下划线)字符从 0 到 n 迭代。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.