为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
MMTTMM 2022-12-08 15:34:57
我还没有找到适合我需要的东西,我需要一个 varify host:port 的正则表达式。例如:localhost:52247  //trueweb.mycompany.com //trueweb.mycompany.com:52247 //true192.168.108.76:8383/ //true192.168.108.76/ //true并应为以下内容返回 false;localhost:9999999  //false because port is not valid'' //false becuse string is emptyweb.mycoעעעעעmpany.com:52247 //false because it contains hebrew characters192.168.377.76:8383/ //false because ip address not valid
查看完整描述

1 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

我不会在这里编写自己的正则表达式,而是使用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");

  }

})


查看完整回答
反对 回复 2022-12-08
  • 1 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号