diff --git a/deno/lib/__tests__/string.test.ts b/deno/lib/__tests__/string.test.ts index e067a1c81..6d250aa8e 100644 --- a/deno/lib/__tests__/string.test.ts +++ b/deno/lib/__tests__/string.test.ts @@ -265,6 +265,8 @@ test("ulid", () => { ulid.parse("01ARZ3NDEKTSV4RRFFQ69G5FAV"); const result = ulid.safeParse("invalidulid"); expect(result.success).toEqual(false); + const tooLong = "01ARZ3NDEKTSV4RRFFQ69G5FAVA" + expect(ulid.safeParse(tooLong).success).toEqual(false); if (!result.success) { expect(result.error.issues[0].message).toEqual("Invalid ulid"); } diff --git a/deno/lib/types.ts b/deno/lib/types.ts index 13d42a738..c4c11a994 100644 --- a/deno/lib/types.ts +++ b/deno/lib/types.ts @@ -540,7 +540,7 @@ export interface ZodStringDef extends ZodTypeDef { const cuidRegex = /^c[^\s-]{8,}$/i; const cuid2Regex = /^[a-z][a-z0-9]*$/; -const ulidRegex = /[0-9A-HJKMNP-TV-Z]{26}/; +const ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/; // const uuidRegex = // /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i; const uuidRegex = diff --git a/src/__tests__/string.test.ts b/src/__tests__/string.test.ts index b84f080fc..6d6fba1ed 100644 --- a/src/__tests__/string.test.ts +++ b/src/__tests__/string.test.ts @@ -264,6 +264,8 @@ test("ulid", () => { ulid.parse("01ARZ3NDEKTSV4RRFFQ69G5FAV"); const result = ulid.safeParse("invalidulid"); expect(result.success).toEqual(false); + const tooLong = "01ARZ3NDEKTSV4RRFFQ69G5FAVA" + expect(ulid.safeParse(tooLong).success).toEqual(false); if (!result.success) { expect(result.error.issues[0].message).toEqual("Invalid ulid"); } diff --git a/src/types.ts b/src/types.ts index eb4349c25..d30f3252e 100644 --- a/src/types.ts +++ b/src/types.ts @@ -540,7 +540,7 @@ export interface ZodStringDef extends ZodTypeDef { const cuidRegex = /^c[^\s-]{8,}$/i; const cuid2Regex = /^[a-z][a-z0-9]*$/; -const ulidRegex = /[0-9A-HJKMNP-TV-Z]{26}/; +const ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/; // const uuidRegex = // /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i; const uuidRegex =