diff --git a/packages/regex/src/index.ts b/packages/regex/src/index.ts index 7bd16e1d1..7088d9c6a 100644 --- a/packages/regex/src/index.ts +++ b/packages/regex/src/index.ts @@ -54,6 +54,13 @@ const v6 = ` .replace(/\n/g, '') .trim() +// Pasted from `cidr-regex` package (https://github.com/silverwind/cidr-regex/blob/master/index.js) +const cidrv4 = `${v4}\\/(3[0-2]|[12]?[0-9])` +const cidrv6 = `${v6}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])` + export const ip = new RegExp(`^(?:${v4}|${v6})$`) export const ipv4 = new RegExp(`^${v4}$`) export const ipv6 = new RegExp(`^${v6}$`) +export const ipCidr = new RegExp(`(?:^${cidrv4}$)|(?:^${cidrv6}$)`) +export const ipv4Cidr = new RegExp(`^${cidrv4}$`) +export const ipv6Cidr = new RegExp(`^${cidrv6}$`)