From 2c535926a462be6891014b72c61d8ab05a8a9cdc Mon Sep 17 00:00:00 2001 From: QuiiBz Date: Tue, 13 Sep 2022 11:30:49 +0200 Subject: [PATCH] feat(regex): add cidr regex --- packages/regex/src/index.ts | 7 +++++++ 1 file changed, 7 insertions(+) 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}$`)