UNPKG

subnet-check

Version:

Check if an IPv4 or IPv6 address is contained in the given CIDR subnet

27 lines 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // IPv4 Segment var v4Seg = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'; var v4Str = "(" + v4Seg + "[.]){3}" + v4Seg; var IPv4Reg = new RegExp("^" + v4Str + "$"); // IPv6 Segment var v6Seg = '(?:[0-9a-fA-F]{1,4})'; var IPv6Reg = new RegExp('^(' + ("(?:" + v6Seg + ":){7}(?:" + v6Seg + "|:)|") + ("(?:" + v6Seg + ":){6}(?:" + v4Str + "|:" + v6Seg + "|:)|") + ("(?:" + v6Seg + ":){5}(?::" + v4Str + "|(:" + v6Seg + "){1,2}|:)|") + ("(?:" + v6Seg + ":){4}(?:(:" + v6Seg + "){0,1}:" + v4Str + "|(:" + v6Seg + "){1,3}|:)|") + ("(?:" + v6Seg + ":){3}(?:(:" + v6Seg + "){0,2}:" + v4Str + "|(:" + v6Seg + "){1,4}|:)|") + ("(?:" + v6Seg + ":){2}(?:(:" + v6Seg + "){0,3}:" + v4Str + "|(:" + v6Seg + "){1,5}|:)|") + ("(?:" + v6Seg + ":){1}(?:(:" + v6Seg + "){0,4}:" + v4Str + "|(:" + v6Seg + "){1,6}|:)|") + ("(?::((?::" + v6Seg + "){0,5}:" + v4Str + "|(?::" + v6Seg + "){1,7}|:))") + ')(%[0-9a-zA-Z]{1,})?$'); function isIPv4(s) { return IPv4Reg.test(s); } exports.isIPv4 = isIPv4; function isIPv6(s) { return IPv6Reg.test(s); } exports.isIPv6 = isIPv6; //# sourceMappingURL=net.js.map