Prepare repository for merge
This commit is contained in:
26
javascript/snippets/uuid-generator-browser.md
Normal file
26
javascript/snippets/uuid-generator-browser.md
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Generate UUID (browser)
|
||||
type: snippet
|
||||
tags: [browser,random]
|
||||
cover: mountain-lake-cottage
|
||||
dateModified: 2020-10-22T20:24:44+03:00
|
||||
---
|
||||
|
||||
Generates a UUID in a browser.
|
||||
|
||||
- Use `Crypto.getRandomValues()` to generate a UUID, compliant with [RFC4122](https://www.ietf.org/rfc/rfc4122.txt) version 4.
|
||||
- Use `Number.prototype.toString()` to convert it to a proper UUID (hexadecimal string).
|
||||
|
||||
```js
|
||||
const UUIDGeneratorBrowser = () =>
|
||||
([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
|
||||
(
|
||||
c ^
|
||||
(crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))
|
||||
).toString(16)
|
||||
);
|
||||
```
|
||||
|
||||
```js
|
||||
UUIDGeneratorBrowser(); // '7982fcfe-5721-4632-bede-6000885be57d'
|
||||
```
|
||||
Reference in New Issue
Block a user