带有可选端口的ip addres v4的正则表达式

时间:2019-06-23 23:31:01

标签: javascript html regex port ip-address

我无法检测到带有可选端口的ip地址v4的模式输入

我发现只是IP地址v4的模式

这是仅适用于ipv4的代码

/\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\b/

我希望正则表达式可以读取,例如: 192.168.11.11或192.168.11.11:8000

1 个答案:

答案 0 :(得分:0)

按原样,您的正则表达式将匹配IP地址。如果您还希望它与端口匹配,则只需在最终单词边界之前添加可选的非捕获字符即可选择:,后接0-4位数字:

(?::\d{0,4})?\b

这将创建以下内容:

/\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)(?::\d{0,4})?\b/

哪个与您的两个输入都匹配:

const regex = /\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)(?::\d{0,4})?\b/;

console.log(regex.test('192.168.11.11'));
console.log(regex.test('192.168.11.11:8000'));