serverName:port的Javascript正则表达式

serverName:port的Javascript正则表达式,javascript,regex,Javascript,Regex,我可以使用什么样的正则表达式进行表单URL的客户端验证 example.com:8080 (Valid) 10.15.123.14:8080 (Valid) example.com (Invalid) 10.15.123.14 (Invalid) 协议“http”不是必需的。事实上,这不会成为我表单字段的一部分。我会使用这样的/^([a-z0-9\-]+\)+[a-z0-9]+\:[1-9][0-9]+$/I var str = [ "Example.com:8080", "1

我可以使用什么样的正则表达式进行表单URL的客户端验证

example.com:8080 (Valid)
10.15.123.14:8080 (Valid)
example.com (Invalid)
10.15.123.14 (Invalid)

协议“http”不是必需的。事实上,这不会成为我表单字段的一部分。

我会使用这样的
/^([a-z0-9\-]+\)+[a-z0-9]+\:[1-9][0-9]+$/I

var str = [
    "Example.com:8080",
    "10.15.123.14:8080",
    "example.com",
    "10.13.123.14",
    "example!1.com:8080",
    "example-1.com:8080",
    "example!1.com:8080",
    "example\1.com:8080",
    "example1.com:8"
    ];

var regex = /^([a-z0-9\-]+\.)+[a-z0-9]+\:[1-9][0-9]+$/i;

for(var i=0; i < str.length; i++) {
    $('#test').append(regex.test(str[i])+"</br>");
}
var str=[
“Example.com:8080”,
"10.15.123.14:8080",
“example.com”,
"10.13.123.14",
“示例!1.com:8080”,
“example-1.com:8080”,
“示例!1.com:8080”,
“示例\1.com:8080”,
“example1.com:8”
];
变量regex=/^([a-z0-9\-]+\)+[a-z0-9]+\:[1-9][0-9]+$/i;
对于(变量i=0;i”;
}

我会选择这样的
/^([a-z0-9\-]+\)+[a-z0-9]+\:[1-9][0-9]+$/I

var str = [
    "Example.com:8080",
    "10.15.123.14:8080",
    "example.com",
    "10.13.123.14",
    "example!1.com:8080",
    "example-1.com:8080",
    "example!1.com:8080",
    "example\1.com:8080",
    "example1.com:8"
    ];

var regex = /^([a-z0-9\-]+\.)+[a-z0-9]+\:[1-9][0-9]+$/i;

for(var i=0; i < str.length; i++) {
    $('#test').append(regex.test(str[i])+"</br>");
}
var str=[
“Example.com:8080”,
"10.15.123.14:8080",
“example.com”,
"10.13.123.14",
“示例!1.com:8080”,
“example-1.com:8080”,
“示例!1.com:8080”,
“示例\1.com:8080”,
“example1.com:8”
];
变量regex=/^([a-z0-9\-]+\)+[a-z0-9]+\:[1-9][0-9]+$/i;
对于(变量i=0;i”;
}

匹配255.255.255之前的ip和65535之前的端口:

^((([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])|[a-zA-Z0-9]*):(6553[0-5]|655[0-2][0-9]\d|65[0-4](\d){2}|6[0-4](\d){3}|[1-5](\d){4}|[1-9](\d){0,3})$
^[^:]+:(6553[0-5]|655[0-2][0-9]\d|65[0-4](\d){2}|6[0-4](\d){3}|[1-5](\d){4}|[1-9](\d){0,3})$
在65535之前匹配网站(或ip)和端口:

^((([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])|[a-zA-Z0-9]*):(6553[0-5]|655[0-2][0-9]\d|65[0-4](\d){2}|6[0-4](\d){3}|[1-5](\d){4}|[1-9](\d){0,3})$
^[^:]+:(6553[0-5]|655[0-2][0-9]\d|65[0-4](\d){2}|6[0-4](\d){3}|[1-5](\d){4}|[1-9](\d){0,3})$

匹配255.255.255.255之前的ip和65535之前的端口:

^((([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])|[a-zA-Z0-9]*):(6553[0-5]|655[0-2][0-9]\d|65[0-4](\d){2}|6[0-4](\d){3}|[1-5](\d){4}|[1-9](\d){0,3})$
^[^:]+:(6553[0-5]|655[0-2][0-9]\d|65[0-4](\d){2}|6[0-4](\d){3}|[1-5](\d){4}|[1-9](\d){0,3})$
在65535之前匹配网站(或ip)和端口:

^((([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])|[a-zA-Z0-9]*):(6553[0-5]|655[0-2][0-9]\d|65[0-4](\d){2}|6[0-4](\d){3}|[1-5](\d){4}|[1-9](\d){0,3})$
^[^:]+:(6553[0-5]|655[0-2][0-9]\d|65[0-4](\d){2}|6[0-4](\d){3}|[1-5](\d){4}|[1-9](\d){0,3})$

/:[1-9][0-9]*$/
呢?那
/:[1-9][0-9]*$/
呢?这也会匹配
google.com:0
@h2ooooo true。。六羟甲基三聚氰胺六甲醚。。。我会改进:)…现在你所需要的只是锚,因为如果没有锚,你会匹配
:)我知道一个网站:google.com:8080是一个你不想去的网站。它也是一个匹配的例子!1.com:8080…我想要唯一有效的特殊字符,如连字符和点…端口号也应该是数字2-4字符不要说我没有警告你:“现在你只需要锚定”;)这也将匹配
google.com:0
@h2ooooo-true。。六羟甲基三聚氰胺六甲醚。。。我会改进:)…现在你所需要的只是锚,因为如果没有锚,你会匹配
:)我知道一个网站:google.com:8080是一个你不想去的网站。它也是一个匹配的例子!1.com:8080…我想要唯一有效的特殊字符,如连字符和点…端口号也应该是数字2-4字符不要说我没有警告你:“现在你只需要锚定”;)+1表示努力,但不使用正则表达式解析字符串要好得多。+1表示努力,但不使用正则表达式解析字符串要好得多。