To validate UUID (GUID) in NodeJS, we can use below options:
- UUID NPM Package
- We can write our own custom regular expressions to validate.
1. UUID NPM Package
To use UUID package, we can use below command to include in our project.
To validate UUIDÂ in NodeJS, we can use validate method of UUID package. Below is the sample code.
const uuid = require('uuid');
const uniqueId = "3112b3db-c1ef-4cc2-994b-306d75834277";
const isValid = uuid.validate(uniqueId); //return true as Valid, false as Invalid
In the first line, we are importing UUID NPM package. In second line, we are declaring a custom uuid number. In the third line, we are validating UUID with the help of validate method. This method returns “true”, if the uuid is valid else returns false.
With the help of UUID package, we can check the version of the UUID. A UUID can have different versions from 1 to 5. To check the version of UUID, we can use version() method of UUID package. Below is the code.
const uuidVersion = uuid.version(uniqueId);
2. Custom regular expressions to Validate UUID
We can write different regular expressions to validate different versions of UUID. Below are the options:
v1: /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/i
v2: /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[2][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/i
v3: /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[3][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/i
v4: /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[4][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/i
v5: /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[5][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/i
To validate, use test method as shown below. we are validating version 4 uuid.
const isValid = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[4][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/i.test('3112b3db-c1ef-4cc2-994b-306d75834277')
To use a common regular expression to validate any version of UUID. Use below regular expression.
v1-v5: /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/i
In the below example, we are validating version 1 uuid.
const isValid = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/i.test('3112b3db-c1ef-1cc2-994b-306d75834277')
Summary
To validate UUID in NodeJS, we can either use NPM UUID package or use custom regular expressions. We can validate any version of UUID easily.Â