Skip to content

Commit 6d5c52a

Browse files
authored
feat(isUUID): support uuid v7 (#2345)
closes #2344
1 parent 31c88cf commit 6d5c52a

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

src/lib/isUUID.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const uuid = {
66
3: /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
77
4: /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
88
5: /^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
9+
7: /^[0-9A-F]{8}-[0-9A-F]{4}-7[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
910
all: /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
1011
};
1112

test/validators.test.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5021,6 +5021,7 @@ describe('Validators', () => {
50215021
'A987FBC9-4BED-3078-CF07-9141BA07C9F3',
50225022
'A987FBC9-4BED-4078-8F07-9141BA07C9F3',
50235023
'A987FBC9-4BED-5078-AF07-9141BA07C9F3',
5024+
'018C544A-D384-7000-BB74-3B1738ABE43C',
50245025
],
50255026
invalid: [
50265027
'',
@@ -5038,6 +5039,7 @@ describe('Validators', () => {
50385039
valid: [
50395040
'A117FBC9-4BED-3078-CF07-9141BA07C9F3',
50405041
'A117FBC9-4BED-5078-AF07-9141BA07C9F3',
5042+
'018C544A-D384-7000-BB74-3B1738ABE43C',
50415043
],
50425044
invalid: [
50435045
'',
@@ -5051,6 +5053,7 @@ describe('Validators', () => {
50515053
args: [null],
50525054
valid: [
50535055
'A127FBC9-4BED-3078-CF07-9141BA07C9F3',
5056+
'018C544A-D384-7000-BB74-3B1738ABE43C',
50545057
],
50555058
invalid: [
50565059
'',
@@ -5072,6 +5075,7 @@ describe('Validators', () => {
50725075
'AAAAAAAA-1111-2222-AAAG-111111111111',
50735076
'A987FBC9-4BED-4078-8F07-9141BA07C9F3',
50745077
'A987FBC9-4BED-5078-AF07-9141BA07C9F3',
5078+
'018C544A-D384-7000-BB74-3B1738ABE43C',
50755079
],
50765080
});
50775081
test({
@@ -5087,6 +5091,7 @@ describe('Validators', () => {
50875091
'AAAAAAAA-1111-1111-AAAG-111111111111',
50885092
'A987FBC9-4BED-4078-8F07-9141BA07C9F3',
50895093
'A987FBC9-4BED-5078-AF07-9141BA07C9F3',
5094+
'018C544A-D384-7000-BB74-3B1738ABE43C',
50905095
],
50915096
});
50925097
test({
@@ -5102,6 +5107,7 @@ describe('Validators', () => {
51025107
'AAAAAAAA-1111-1111-AAAG-111111111111',
51035108
'A987FBC9-4BED-4078-8F07-9141BA07C9F3',
51045109
'A987FBC9-4BED-5078-AF07-9141BA07C9F3',
5110+
'018C544A-D384-7000-BB74-3B1738ABE43C',
51055111
],
51065112
});
51075113
test({
@@ -5120,6 +5126,7 @@ describe('Validators', () => {
51205126
'AAAAAAAA-1111-1111-AAAG-111111111111',
51215127
'A987FBC9-4BED-5078-AF07-9141BA07C9F3',
51225128
'A987FBC9-4BED-3078-CF07-9141BA07C9F3',
5129+
'018C544A-D384-7000-BB74-3B1738ABE43C',
51235130
],
51245131
});
51255132
test({
@@ -5138,6 +5145,7 @@ describe('Validators', () => {
51385145
'AAAAAAAA-1111-1111-AAAG-111111111111',
51395146
'9c858901-8a57-4791-81fe-4c455b099bc9',
51405147
'A987FBC9-4BED-3078-CF07-9141BA07C9F3',
5148+
'018C544A-D384-7000-BB74-3B1738ABE43C',
51415149
],
51425150
});
51435151
test({
@@ -5150,6 +5158,26 @@ describe('Validators', () => {
51505158
'987FBC97-4BED-3078-AF07-9141BA07C9F3',
51515159
'987FBC97-4BED-4078-AF07-9141BA07C9F3',
51525160
'987FBC97-4BED-5078-AF07-9141BA07C9F3',
5161+
'018C544A-D384-7000-BB74-3B1738ABE43C',
5162+
],
5163+
});
5164+
test({
5165+
validator: 'isUUID',
5166+
args: [7],
5167+
valid: [
5168+
'018C544A-D384-7000-BB74-3B1738ABE43C',
5169+
],
5170+
invalid: [
5171+
'',
5172+
'xxxA987FBC9-4BED-3078-CF07-9141BA07C9F3',
5173+
'934859',
5174+
'AAAAAAAA-1111-1111-AAAG-111111111111',
5175+
'A987FBC9-4BED-5078-AF07-9141BA07C9F3',
5176+
'A987FBC9-4BED-3078-CF07-9141BA07C9F3',
5177+
'713ae7e3-cb32-45f9-adcb-7c4fa86b90c1',
5178+
'625e63f3-58f5-40b7-83a1-a72ad31acffb',
5179+
'57b73598-8764-4ad0-a76a-679bb6640eb1',
5180+
'9c858901-8a57-4791-81fe-4c455b099bc9',
51535181
],
51545182
});
51555183
});

0 commit comments

Comments
 (0)