- 我的url不接受http|http|ftp
- Url将接受www.part
- 接受任意数量子域的Url
- .com部分为可选
- Url将接受端口号最大值0-65535
我的正则表达式是
/^(?!(ftp|https?)://)([a-zA-Z0-9]+.)*[a-zA-Z0-9][a-zA-Z0-9-]+(.[a-z]{2,6})?(:d{1,5})?$/gm
这个正则表达式验证是这样的,
- www.example.com-true
- http://example.com-错误
- www.example.etc.com-true
- www.example.com:6244-true
- https://example.com-错误
- 本地主机:64343-true
我的端口部分出现错误。
它将接受任何5位数字。我需要将此限制为0-65535。因为当值超过65535时,它会显示Uri格式异常。
有什么建议吗!
我认为以下内容将提供您想要的内容:
/^(?!(ftp|https?)://)([a-zA-Z0-9]+.)*[a-zA-Z0-9][a-zA-Z0-9-]+(.[a-z]{2,6})?(:d{1,4}|:[0-6][0-5][0-5][0-3][0-5])?$/gm
我与您的唯一更改是在端口分析中,从(:d{1,5})?
(因为这将得到任何5位数字)到(:d{1,4}|:[0-6][0-5][0-5][0-3][0-5])?
(因为这会得到任何4位数字,然后如果它们的数字在所需范围内,则只会得到5位数)。
单击此处查看RegEx101示例