简单的正则表达式问题
Simple Regex question
我想从网址字符串中删除它 http://.....?page=1
我知道这行不通,但我想知道你将如何正确地做到这一点。
document.URL.replace("?page=[0-9]", "")
谢谢
似乎您想摆脱协议和查询字符串。那么,仅连接其余部分怎么样?
var loc = window.location;
var str = loc.host + loc.pathname + loc.hash;
http://jsfiddle.net/9Ng3Z/
我不完全确定要求是什么,但这个相当简单的正则表达式有效。
loc.replace(/https?':'/'/([^?]+)('?|$)/,'$1');
这可能是一个幼稚的实现,但试一试,看看它是否符合您的需求。
http://jsfiddle.net/9Ng3Z/1/
?
是一个正则表达式特殊字符。你需要转义它以获得字面上的?
.还要使用正则表达式文本。
document.URL.replace(/'?page=[0-9]/, "")
来自 @patrick dw 的答案是最实用的,但如果你真的对正则表达式解决方案感到好奇,那么我会这样做:
var trimUrl = function(s) {
var r=/^http:'/'/(.*?)'?page='d+.*$/, m=(""+s).match(r);
return (m) ? m[1] : s;
}
trimUrl('http://foo.com/?page=123'); // => "foo.com/"
trimUrl('http://foo.com:8080/bar/?page=123'); // => "foo.com:8080/bar/"
trimUrl('foobar'); // => "foobar"
你离得很近。 要获取URL,请使用location.href并确保转义问号。
var URL = location.href.replace("''?page=[0-9]", ");location.href = URL;并重定向,如果这是您打算做的
还可以去除所有查询字符串参数:
var URL = location.href.replace("''?.*'", '"'");
相关文章:
- 使用正则表达式评估电子邮件地址时出现性能问题
- 正则表达式匹配模式或匹配其他所有内容 - 匹配优先级问题
- 这个正则表达式的日期/时间有什么问题
- 为密码验证实现正则表达式时出现问题
- JavaScript 正则表达式匹配问题
- 我的电子邮件正则表达式有什么问题
- Javascript中的正则表达式问题转义特殊字符
- JavaScript正则表达式代码匹配字符和数字的问题
- url的正则表达式有问题
- 这个正则表达式有什么问题
- 为此模式编写正则表达式时遇到问题
- AngularJS ng-pattern的正则表达式问题
- 在这种情况下,正则表达式中的“[”是什么( 2 个问题)
- JS正则表达式结果表达式赋值问题
- 正则表达式替换问题
- 匹配 JavaScript 中的字符串时的正则表达式问题
- 奇怪的JavaScript正则表达式替换问题
- JavaScript正则表达式(缺少“/”),我该如何解决这个问题
- 我的验证码有什么问题?(正则表达式很好)
- JavaScript 我非常简单的正则表达式有什么问题