728x90
반응형
간단하게 랜덤 문자열 만들기
자바스크립트에서 임의의 문자열을 생성하는 방법은 여러 가지가 있습니다. 가장 빠른 방법은 Math.random() 메소드를 사용하는 것 입니다.
Math.random() 메소드는 0(이상)과 1(미만) 사이의 난수를 반환합니다. 이 난수를 문자열로 변환한 후 소수점 표시를 제거하면 됩니다.
const rand = Math.random().toString().substr(2, 8);
위의 예제는 8개의 숫자로 된 랜덤 문자열을 만들어 냅니다.
영숫자 문자열을 생성하려면 2에서 36 사이의 값을 toString() 메소드의 매개변수인 radix로 넘기면 됩니다. 이는 결과 값의 진법을 정의하는 것 입니다. 이진수 문자열(0~1)을 얻으려면 toString() 메소드의 radix에 2를 넣으면 됩니다.
const binary = Math.random().toString(2).substr(2, 8);
여기서 알파벳이 섞인 랜덤 문자열을 얻으려면 toString() 메소드의 매개변수인 radix에 16 이나 이보다 큰 값을 넣으면 됩니다.
const rand = Math.random().toString(16).substr(2, 8);
이제 위의 코드를 활용해 원하는 글자 수를 입력하면 랜덤 문자열을 리턴하는 함수를 만들어 보겠습니다.
const random = (length = 8) => {
return Math.random().toString(16).substr(2, length);
};
console.log(random());
console.log(random(6));
console.log(random(10));
console.log(random(14));
긴 랜덤 문자열 생성하기
14 글자 이상의 긴 랜덤 문자열을 생성하기 위해서는 자신만의 랜덤 문자열 생성기를 만들어야 합니다. 다음의 예제는 'A~Z', 'a~z, '0~9' 중 하나를 랜덤하게 선택해 문자열을 만드는 것을 보여줍니다.
const random = (length = 8) => {
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
let str = '';
for (let i = 0; i < length; i++) {
str += chars.charAt(Math.floor(Math.random() * chars.length));
}
return str;
};
console.log(random());
console.log(random(12));
console.log(random(20));
위 예제에서는 Math.random() 메소드와 Math.floor() 메소드를 사용해 랜덤한 문자열의 인덱스를 생성해 주어진 문자열에서 랜덤으로 문자를 선택하게 했습니다. 또한 for loop를 사용해 랜덤으로 선택된 문자를 문자열로 만들도록 작성되었습니다.
관련 글
반응형
'dev > javascript' 카테고리의 다른 글
[javascript] 자바스크립트 자판기 만들기 (0) | 2022.09.28 |
---|---|
[javascript] 자바스크립트 시계 만들기 (1) | 2022.09.28 |
[javascript] 자바스크립트 체질량지수 BMI 계산기 (2) | 2022.09.23 |
[javascript] 자바스크립트 값 입력받기 (prompt) (1) | 2022.09.23 |
[node.js] 웹소켓 채팅 서버 WebSocket chat (1) | 2022.09.22 |
댓글