考虑以下JS代码:
if ( window.location.href == "https://teamtreehouse.com/signin" ) {
// do stuff...
}
我需要比较运算符不仅会覆盖确切的网址,还会覆盖查询字符串和数据之后的任何可能的变体,这些数据会出现在短语" signin"。
之后。你将如何在JS中做到这一点?我知道它应该包括正则表达式但由于线性学习对我来说很重要,我宁愿在接下来的几周内等待我的JS正则表达式课程,也只是在这个特殊场合问这里。
答案 0 :(得分:0)
尝试以下正则表达式:
/^https:\/\/teamtreehouse\.com\/signin/i
^
表示“以...开头”,额外的\
字符只是为了逃避正则表达式中的特殊字符。
根据@epascarello的评论,你绝对应该使用“ignore-case”参数,i
(上面添加)。
使用test
功能:
(/^https:\/\/teamtreehouse\.com\/signin/i).test(window.location.href)
答案 1 :(得分:0)
您可以使用String#match检查某些字符串是否包含某些内容。
<强>实施例强>
if (window.location.href.match("https://teamtreehouse.com/signin")){
// Do something
}
&#13;
您也可以使用此.host
&amp;来自Window.location对象的.pathname
。
<强>实施例强>
var link = window.location.host + window.location.pathname;
if (link === "www.teamtreehouse.com/signin"){
// Do something
}
&#13;
答案 2 :(得分:0)
if ( /^[https:\/\/teamtreehouse.com/signin][\?[\.]+]?/.test(window.location.href)) {
// do stuff...
}
&#13;