diff --git a/src/lib/isIPRange.js b/src/lib/isIPRange.js index ffb4e1afa..ff6c8b85b 100644 --- a/src/lib/isIPRange.js +++ b/src/lib/isIPRange.js @@ -21,5 +21,6 @@ export default function isIPRange(str) { return false; } - return isIP(parts[0], 4) && parts[1] <= 32 && parts[1] >= 0; + return (isIP(parts[0], 4) && parts[1] <= 32 && parts[1] >= 0) || + (isIP(parts[0], 6) && parts[1] <= 64 && parts[1] >= 0); } diff --git a/test/validators.js b/test/validators.js index baeca631a..f6528cd0d 100644 --- a/test/validators.js +++ b/test/validators.js @@ -870,18 +870,26 @@ describe('Validators', () => { '127.0.0.1/24', '0.0.0.0/0', '255.255.255.0/32', + '2001:db8::/32', + '2001:db8:0000:1:1:1:1:1/32', ], invalid: [ '127.200.230.1/35', '127.200.230.1/-1', '1.1.1.1/011', - '::1/64', '1.1.1/24.1', + '1.1.1.1.1/24', '1.1.1.1/01', '1.1.1.1/1.1', '1.1.1.1/1.', '1.1.1.1/1/1', '1.1.1.1', + '2001:db8::/32.1', + '2001:db8::/01', + '2001:db8::/1.', + '2001:dby::/32', + '2001:db8::/-1', + '2001:db8::/67', ], }); });