Javascript中的IP地址解析器

Chr*_*row 11 javascript parsing ip-address

为Javascript寻找一个好的IP地址解析器.

理想情况下,它可以将IP地址作为字符串,然后返回包含IP地址的所有部分的对象,包括端口.

谢谢!

Pin*_*nyM 2

var v4 = '[\\d]{1-3}';
var v4d = '\\.';
var v4complete = v4+v4d+v4+v4d+v4+v4d+v4
var v6 = '[\\da-fA-F]{0-4}';
var v6d = ':';
var v6complete = v6+v6d+v6+v6d+v6+v6d+v6+v6d+v6+v6d+v6+v6d+v6+v6d+v6;
var regex = new RegExp('(' + v4complete + '(\\:\d+){0,1}|'
                           + '::|::1|'
                           + '\\[::\\]:\\d+|\\[::1\\]:\\d+|'
                           + v6complete + '|'
                           + '\\[' + v6complete + '\\]:\\d+' + ')', 'g');
var result = mystring.match(regex);
Run Code Online (Sandbox Code Playgroud)

请注意,这并不能保证有效地址(例如,IPv4 的地址范围为 0-255)。但它应该与带或不带端口的 ip 匹配。