UNPKG

@skhemata/skhemata-form

Version:

Skhemata Form Web Component. This web component can be used as base web component when working with forms and inputs.

26 lines (19 loc) 544 B
import assertString from './util/assertString'; import isIP from './isIP'; const subnetMaybe = /^\d{1,2}$/; export default function isIPRange(str) { assertString(str); const 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; }