检查if / else语句中的URL?

时间:2017-02-07 11:25:40

标签: javascript url if-statement

我试图检查提交的网址(不包括任何其他路径)。

用户提交的网址为:

var inputUrl = document.getElementById("inputVal").value;

如果用户提交'http://stackoverflow.com/questions/ask',那么我尝试创建一个if / else语句,以确定该网站是否为“stackoverflow.com”,而不管{{1} } {或'http/https'之后的任何'/.../.../'

.com

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

让浏览器为您做大部分工作的一个小技巧(可以在MDN找到):

var url = document.createElement('a');
url.href = 'http://stackoverflow.com/questions/ask';
console.log(url.host);      // stackoverflow.com


if (url.host == "stackoverflow.com") {
  console.log ("stackoverflow");
} else {
  console.log("not stackoverflow");
}

您也可以像访问协议或哈希一样访问URL的其他部分。

答案 1 :(得分:1)

$("button").on("click",function(){
var inputUrl = document.getElementById("inputVal").value;
    inputUrl=inputUrl.split("http://")[1] || inputUrl.split("https://")[1] ;
    inputUrl=inputUrl.split("/")[0];
    if (inputUrl == "stackoverflow.com") {
      console.log ("stackoverflow");
      } else {
      console.log("not stackoverflow");
      }

}) ;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input id="inputVal" value="http://stackoverflow.com/questions/ask">
<button>
submit
</button>

jsfiddle演示:https://jsfiddle.net/geogeorge/h40dvbq6/2/

答案 2 :(得分:0)

   if(inputUrl.toLowerCase().indexOf("stackoverflow.com") > -1) {
       ...
   }