728x90
반응형
자바스크립트(Javascript, Node)에서 랜덤 문자열을 간단하게 생성하는 방법은 uuid 모듈을 활용하면 됩니다. uuid 모듈의 v4활용하면 간단하게 랜덤 문자열을 생성할 수 있습니다. 자세한 내용은 여기에서 문서를 참고하세요.
// ES6 module syntax
import { v4 as uuidv4 } from 'uuid';
var id = uuidv4();
// "110ec58a-a0f2-4ac4-8393-c866d813b8d1"
// CommonJS syntax
const { v4: uuidv4 } = require('uuid');
uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'
만약 의존성없이 코드를 구현하고 싶으시다면, 아래와 같이 직접 구현하는 방법도 있습니다. 레거시 브라우저에도 호환이 되니까 레거시 브라우저를 대응한다면 아래 코드로 구현하면 됩니다.
// dec2hex :: Integer -> String
// i.e. 0-255 -> '00'-'ff'
function dec2hex (dec) {
return dec < 10
? '0' + String(dec)
: dec.toString(16)
}
// generateId :: Integer -> String
function generateId (len) {
var arr = new Uint8Array((len || 40) / 2)
window.crypto.getRandomValues(arr)
return Array.from(arr, dec2hex).join('')
}
console.log(generateId())
// "82defcf324571e70b0521d79cce2bf3fffccd69"
console.log(generateId(20))
// "c1a050a4cd1556948d41"
728x90
반응형
그리드형
'개발 > Javascript' 카테고리의 다른 글
자바스크립트에서 CSS 미디어쿼리(Media Queries)를 활용해보자 (How To Use Media Queries in JavaScript) - matchMedia (0) | 2020.08.13 |
---|---|
자바스크립트(Javascript)로 정말 쉽게 클립보드 복사하기 기능 구현하는 방법 (4) | 2020.08.08 |
NVM을 활용해서 쉽고 효율적이게 노드(Node.js) 버전을 관리해보자 (2) | 2020.07.23 |
[Nodejs] Nodejs에서 손쉽게 폴더 생성하는 방법 (0) | 2020.06.30 |
[Javascript] URL QueryString 값을 Object(key-value)로 손쉽게 받아오는 방법 (0) | 2020.04.08 |
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.