JavaScript 中有效主机:端口形式的正则表达式

我还没有找到适合我需要的东西,我需要一个 varify host:port 的正则表达式。


例如:


localhost:52247  //true

web.mycompany.com //true

web.mycompany.com:52247 //true

192.168.108.76:8383/ //true

192.168.108.76/ //true

并应为以下内容返回 false;


localhost:9999999  //false because port is not valid

'' //false becuse string is empty

web.mycoעעעעעmpany.com:52247 //false because it contains hebrew characters

192.168.377.76:8383/ //false because ip address not valid


MMTTMM
浏览 260回答 1
1回答

qq_花开花谢_0

我不会在这里编写自己的正则表达式,而是使用URL()构造函数——如果提供的参数不被视为有效的 URL,它将抛出 TypeError 异常。您的输入值只需以协议为前缀,首先使它们成为有效的非相对URL - 所以让我们放在前面http://,然后看看构造函数是否抛出异常:var urls = 'localhost:52247,web.mycompany.com,web.mycompany.com:52247,192.168.108.76:8383/,192.168.108.76/,localhost:9999999,,web.mycoעעעעעmpany.com:52247,192.168.377.76:8383/'.split(',');urls.forEach(function(e){  try {    new URL('http://'+e);    console.log(e + ": true");  }  catch(x) {    console.log(e + ": false");  }})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go