자바스크립트에서 임의의 문자열, Random 문자열을 생성하는 방법을 소개합니다.
1. for와 Math.random()으로 랜덤 문자열 생성
1.1 Math.random()
Math.random()는 0과 1사이의 무작위 숫자를 리턴합니다. 리턴된 결과에 10, 100 등의 숫자 n을 곱하면 0에서 n 사이의 임의의 숫자가 리턴됩니다.
console.log(Math.random());
console.log(Math.random());
console.log(Math.random() * 10);
console.log(Math.random() * 100);Output:
0.7407869398243148
0.6270616059298579
6.848394509625537
12.6705191901187461.2 랜덤 문자열 생성
무작위 숫자가 리턴되는 것을 이용하여 아래와 같이 반복문을 이용하여 랜덤 문자열을 생성할 수 있습니다.
generateRandomString(num)은 문자열의 길이가 num인 랜덤 문자열을 생성합니다. 아래 예제는 랜덤 문자열에 알파벳만 포함되도록 했는데, 숫자도 포함되게 하려면 characters에 숫자를 추가하시면 됩니다. 코드를 보시면 0에서 num 사이의 임의 숫자를 생성하고, 배열에서 해당하는 Index의 문자를 연결하여 리턴하고 있습니다.
const generateRandomString = (num) => {
const characters ='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
let result = '';
const charactersLength = characters.length;
for (let i = 0; i < num; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
let randomStr = generateRandomString(10);
console.log(randomStr);
randomStr = generateRandomString(20);
console.log(randomStr);Output:
bjYHZYXInv
dfjKJvMMebLsrGrVMuwl2. Math.random()으로 랜덤 문자열 생성
Math.random()으로 리턴된 결과를 toString(36)으로 36진수로 변환할 수 있습니다.
36진수로 출력된 문자열을 보면 0.xxxxxx처럼 출력되는데 여기서 0.을 제거하고 뒤의 문자들을 랜덤 문자열로 사용하는 방법입니다.
console.log(Math.random());
console.log(Math.random().toString(36));Output:
0.7523554364964684
0.1bthuzjhesx위에서 설명한 것처럼, substring(2, 12)으로 0.을 자르고 뒤의 10개의 문자를 랜덤 문자열로 사용할 수 있습니다.
for 반복문으로 랜덤 문자열을 생성하는 방법은 문자열 길이를 자유롭게 설정할 수 있지만, 여기서 사용한 방법은 36진수의 문자열 길이가 12정도입니다. 그 이상의 길이의 랜덤 문자열을 생성하지는 못합니다.
let randomStr = Math.random().toString(36).substring(2, 12);
console.log(randomStr);Output:
in5b7d2d0tsubstring()에 대한 자세한 설명은 JavaScript - substring()과 slice()의 차이점를 참고해주세요.
Related Posts
- ESLint warning, Expected '===' and instead saw '==' eqeqeq
- Javascript - 현재 날짜/시간을 항상 한국 기준으로 가져오기
- Javascript - 문자열 사이에 문자 넣기
- Javascript - 버튼 활성화/비활성화 시키는 방법
- Javascript - 버튼 이름 변경하기
- Javascript - div 안의 내용 가져오기, 변경, 추가, 삭제
- Javascript - <ol>, <ul>에 <li> 동적 추가, 삭제
- Javascript - div 생성, 추가, 삭제 방법
- Javascript - 테이블 행(tr) 숨기기, 보이기
- Javascript - div에 링크 거는 방법
- Javascript - 자식 요소(element) 개수 확인
- Javascript - 요소(element) 복사, 붙여넣기
- Javascript - div에 클릭 이벤트(onclick) 설정 방법
- Javascript - 체크박스 선택/해제 시, 텍스트박스 활성화/비활성화
- Javascript - input 숫자만 입력받도록 설정
- Javascript - 자식 노드 모두 제거
- Javascript - 체크박스 선택, 해제 방법
- Javascript - input text 값 가져오기
- JavaScript - 문자열을 배열(Array)로 변환
- JavaScript - 특정 문자열의 포함 여부 확인 (includes, 정규표현식)
- JavaScript - 문자열 비교 방법, 5가지
- JavaScript - 문자열 바꾸기(replace, 정규식 치환)
- JavaScript - 배열 전체 출력 (for, forEach, for in, for of)
- JavaScript - 한번만 실행되는 함수 (once: true)
- JavaScript - 선택된 checkbox 값 가져오기
- JavaScript - div, 태그 안의 내용 가져오기
- JavaScript - element(버튼, div) 보이기 숨기기
- JavaScript - 숫자를 배열로 변경하는 방법
- JavaScript - 부모, 형제, 자식 element 찾기
- JavaScript - 클래스 이름으로 element 찾는 방법
- JavaScript Array find() 함수
- JavaScript Array splice() 함수
- JavaScript의 contains() 함수
- JavaScript sort() 함수, 예제 소개
- JavaScript - Set 생성 및 초기화