我的正则表达式是,
/^(?!(ftp|https?):\/\/)([a-zA-Z0-9]+\.)*[a-zA-Z0-9][a-zA-Z0-9-]+(\.[a-z]{2,6})?(:\d{1,5})?$/gm
这个正则表达式验证是这样的,
我在端口部分收到错误。
它将接受任何5位数字。我需要将此限制为0-65535。 因为当值超过65535时,它显示Uri格式异常。
请提出任何建议!
答案 0 :(得分:1)
我认为以下内容将为您提供所需内容:
/^(?!(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 - 数字,如果它们的数字在所需范围内)。