광고
텍스트에서 특정 구분자를 기준으로 랜덤한 단어를 추출하는 Javascript 코드를 만들어봤습니다.
예를 들어, “이것은 [사과|바나나|포도] 입니다.”라는 문자열을 입력하면 [ ~ ] 사이에 있는 “사과”, “바나나”, “포도” 중 하나의 과일 이름이 랜덤하게 선택되어 출력되는 기능입니다.
우선 문자열을 입력할 textarea를 만들어보겠습니다.
<textarea id="inputString" placeholder="이것은 [문자1|문자2|문자3] 입니다."></textarea>
그리고 텍스트에서 랜덤 문자열을 추출하는 스크립트를 만들어보겠습니다.
<script>
function extractRandomString() {
const inputString = document.getElementById('inputString').value;
const delimiter = '|'; // 구분자
const extractPattern = /\[(.*?)\]/g; // 추출할 구역 패턴, 글로벌 플래그 추가
if (inputString === '') {
alert('텍스트를 입력하세요.');
return;
}
// replace 함수 내에서 랜덤 선택 로직을 적용
const resultString = inputString.replace(extractPattern, (match, group1) => {
const choices = group1.split(delimiter);
const randomChoice = choices[Math.floor(Math.random() * choices.length)];
return randomChoice;
});
document.getElementById('result').textContent = resultString; // 결과를 화면에 출력
}
</script>
위의 코드를 활용해서 아래에 직접 구현을 해봤습니다.
랜덤 단어 추출