如何检查url字符串中的端口号?

时间:2016-05-30 07:02:26

标签: javascript

我可以检查端口号是否存在于给定的URL字符串中?

有时用户可以输入202.567.89.254:8088http://202.567.89.254:8088/http://202.567.89.254

在上述所有选项中,如果端口号存在,则默认情况下不执行任何操作{}默认情况下使用结束斜杠8080附加8080/

可以在JavaScript中使用吗?

10 个答案:

答案 0 :(得分:8)

您可以尝试使用location对象并使用:

location.port
  

HTMLHyperlinkElementUtils.port属性是包含的USVString   URL的端口号。

答案 1 :(得分:4)

在这里,您可以采用最简单的方法,设置href属性。

var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";


console.log(parser.protocol); // => "http:"
console.log(parser.hostname); // => "example.com"
console.log(parser.port);     // => "3000"
console.log(parser.pathname); // => "/pathname/"
console.log(parser.host);     // => "example.com:3000"

了解更多here

答案 2 :(得分:4)

您可以使用location.port属性。

  if(location.port){//then there is port}
  else{//No port}

答案 3 :(得分:1)

看看这是否适合你:

function appendPort(url){
    if(!url.match(/\:\d+$/)){
        return url + ":8080";
    }
}

如果您想在用户输入的位置执行此操作:

if(!location.port){
    location.port = 8080; // doing this will take care of rest of the URL component
}

:)

答案 4 :(得分:1)

尝试以下代码

urlSplit = url.split(":")
if(urlSplit.length==3){
    port  = urlSplit[2];
}
else{
   port  = 80;
}

答案 5 :(得分:1)

您可以查看Location

Location.port将满足您的目的

答案 6 :(得分:1)

使用location.port。示例如下。

function appendPort(){
  if(location.port.length === 0){
    location.host = location.host + ":8080/";
  }
}

答案 7 :(得分:1)

使用此:

WLResourceRequest request = new WLResourceRequest("Actual server path here", GET);
  request.addHeader(new BasicHeader("IfAnyHeader", "here"));
request.send(new ResponseListener());

答案 8 :(得分:1)

您可以使用js的位置对象

location.port

答案 9 :(得分:1)

在调试器中使用location,您将获得host hostname href origin pathname port protocol还有更多的价值