javascript正则表达式url(url子字符串)
javascript regex url (url substring)
嘿,伙计们,我写了一个简单的函数,它读取当前的url并设置某种高亮显示。
如果我打开url,一切都很好,但如果我做了更高级的请求,它就不起作用了。
例如:如果我请求"/customers",它可以工作,但如果我请求了"/customers/10",它就不再工作了。有人能给我提供一些正则表达式操作吗?
提前感谢
function setGUI() {
var url = window.location.pathname;
switch(url) {
case "/orders":
$(document).ready(function() {
$(".nav li:nth-child(2)").addClass("active");
});
break;
case "/customers": // match "customers/any_id"
$(document).ready(function() {
$(".nav li:nth-child(3)").addClass("active");
});
break;
case "/partners": match "partners/anyid"
$(document).ready(function() {
$(".nav li:nth-child(4)").addClass("active");
});
break;
case "/help":
$(document).ready(function() {
$(".nav li:nth-child(5)").addClass("active");
});
break;
case "/users/": // match "/users/any_id/"
$(document).ready(function() {
$(".nav li:nth-child(6)").addClass("active");
});
break;
default:
alert("debug");
}
}
setGUI();
看起来您的函数不需要使用第二个斜杠之后的任何信息,所以我建议您只需删除第二个斜线之后的所有信息:
var url = window.location.pathname.replace(/^('/[^/]+)'/.*/, "$1");
然后让你的开关和箱子保持原样。
Switch将根据相等性进行评估。一种解决方案是使用if-else
。我建议使用indexOf
:
..
if(url.indexOf("/orders") > -1){
$(document).ready(function() {
$(".nav li:nth-child(2)").addClass("active");
});
}else if(url.indexOf("/customers") > -1){
..
相关文章:
- Datatables查询url字符串:需要regex来修复url解析
- 将URL字符串${userid}替换为javascript对象中的实际用户id
- PHP 在 URL 字符串中连接变量
- 如何获取目录中的URL字符串
- 正确解析 URL 字符串
- JavaScript:将 URL 字符串转换为唯一标识符
- 传递的URL字符串未解释为字符串
- 如何获取django视图的url字符串
- 获取选中复选框的所有值,并将其用于url字符串
- 查找任何未定义的变量并从url字符串中隐藏
- 使用url字符串更改js/jquery的状态
- 替换 URL 字符串中的撇号时出现问题
- 在 URL 字符串中传递参数字符串
- XMLHttpRequest POST 请求到当前 URL 的有效 URL 字符串
- 如何修剪和拆分 URL 字符串
- Ember.js:使用模型实例的路由获取模型实例的 url 字符串
- jquery 正则表达式修剪 URL 字符串的开头和结尾
- 将 URL 字符串传递给 Javascript 函数
- 如何测试 URL 字符串是绝对字符串还是相对字符串
- 使用 javascript 从 URL 字符串中删除特定事件