frontend/.pnpm-store/v3/files/e2/ca96372ed31292d6b89d2ffe02335a4acdb92a9e599a9f5eeb63512e73bb9da7e7bb881d69718e493d578aa4b2580b4c6977579eb34f3ebaae061eb52d6b10

22 lines
534 B
Plaintext

import assertString from './util/assertString';
import isIP from './isIP';
var subnetMaybe = /^\d{1,2}$/;
export default function isIPRange(str) {
assertString(str);
var parts = str.split('/'); // parts[0] -> ip, parts[1] -> subnet
if (parts.length !== 2) {
return false;
}
if (!subnetMaybe.test(parts[1])) {
return false;
} // Disallow preceding 0 i.e. 01, 02, ...
if (parts[1].length > 1 && parts[1].startsWith('0')) {
return false;
}
return isIP(parts[0], 4) && parts[1] <= 32 && parts[1] >= 0;
}