如何使用 JavaScript 匹配我所在窗口的当前 URL 中的字符串?
Posted
技术标签:
【中文标题】如何使用 JavaScript 匹配我所在窗口的当前 URL 中的字符串?【英文标题】:How can I use JavaScript to match a string inside the current URL of the window I am in? 【发布时间】:2011-02-01 03:02:01 【问题描述】:我使用了出色的 gskinner.com/RegExr/ 工具来测试我的字符串匹配正则表达式,但我不知道如何在我的 javascript 文件中实现它以返回 true 或 false。
我的代码如下:
^(http:)\/\/(.+\.)?(***)\.
在诸如 http://***.com/questions/ask
这样的 URL 上,这将匹配(根据 RegExr)http://***.
所以这很好,因为我想尝试将当前的 window.location
与该字符串匹配,但我遇到的问题是这个 JavaScript 脚本不起作用:
var url = window.location;
if ( url.match( /^(http:)\/\/(.+\.)?(***)\./ ) )
alert('this works');
;
关于我在这里做错了什么有什么想法吗?
感谢阅读。
詹尼斯
【问题讨论】:
【参考方案1】:如果你想测试域名(主机)window.location.host
给你你需要的东西(带有子域)
if( /^(.*\.)?***\./.test(window.location.host) )
alert('this works');
【讨论】:
【参考方案2】:window.location
不是字符串;它是一个对象。使用window.location.href
【讨论】:
感谢您的帮助,我无法完全解决这个问题,所以我选择了 Pawel 的解决方案,但再次感谢您。 这也是一个很好的答案。 window.location 是一个对象,.href 和 .host 是它的属性,表示为字符串。您可以使用其中任何一个,但我认为 location.host 当您只对位置字符串的这一部分感兴趣时会更好:) 啊,现在这对我来说很有意义,所以 href 将返回完整的 url,而主机只会到http://sub.domain.ext/
?
Host 只会返回“sub.domain.ext”部分,因为那是主机。以上是关于如何使用 JavaScript 匹配我所在窗口的当前 URL 中的字符串?的主要内容,如果未能解决你的问题,请参考以下文章