Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中有效主机:端口形式的正则表达式_Javascript_Regex - Fatal编程技术网

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

JavaScript中有效主机:端口形式的正则表达式,javascript,regex,Javascript,Regex,我还没有找到适合我需要的东西,我需要一个可以改变主机的正则表达式: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 '' //fa

我还没有找到适合我需要的东西,我需要一个可以改变主机的正则表达式: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

我不会在这里编写自己的正则表达式,但如果提供的参数被认为不是有效的URL,则使用-将引发TypeError异常

您的输入值必须以协议作为前缀,以使它们首先成为有效的非相对URL-因此,让我们将
http://
放在前面,然后看看构造函数是否引发异常:

var-urls='localhost:52247,web.mycompany.com,web.mycompany.com:52247192.168.108.76:8383/,192.168.108.76/,localhost:999999,,web.mycoעעעעעcompany.com:52247192.168.377.76:8383/',split(',');
forEach(函数(e){
试一试{
新URL('http://'+e);
console.log(e+“:true”);
}
捕获(x){
console.log(e+“:false”);
}

})
我不会在这里编写自己的正则表达式,但如果提供的参数被视为无效URL,则使用-将引发TypeError异常

您的输入值必须以协议作为前缀,以使它们首先成为有效的非相对URL-因此,让我们将
http://
放在前面,然后看看构造函数是否引发异常:

var-urls='localhost:52247,web.mycompany.com,web.mycompany.com:52247192.168.108.76:8383/,192.168.108.76/,localhost:999999,,web.mycoעעעעעcompany.com:52247192.168.377.76:8383/',split(',');
forEach(函数(e){
试一试{
新URL('http://'+e);
console.log(e+“:true”);
}
捕获(x){
console.log(e+“:false”);
}

})
我觉得这里没什么用处。这将很难验证,即使它在语法上是有效的,也可能是错误的。也似乎是重复的,这是否回答了你的问题@FelixGerberging两个命令用于同一链接。这没有回答我的问题,因为链接中的答案与我的列表不匹配。在必须提供的应答端口中,既然已经存在,为什么要编写自己的正则表达式@CBroe如何使用
URL
作为验证?我看不出这里有多大用处。这将很难验证,即使它在语法上是有效的,也可能是错误的。也似乎是重复的,这是否回答了你的问题@FelixGerberging两个命令用于同一链接。这没有回答我的问题,因为链接中的答案与我的列表不匹配。在必须提供的应答端口中,既然已经存在,为什么要编写自己的正则表达式@CBroe如何使用
URL
作为验证?