英語のn単語ごとにスペースを作成

7688 ワード

英語の本文を入力します.
スペースに数字を入力すると、n個の単語ごとにスペースが作成されます.
(英語+その他の言語を入力しても、英語スペースのみ入力)
html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>빈칸문제</title>
    <script src="test.js"></script>
    <style>
        textarea{
            width: 50%;
            height: 300px;
            border: 5px solid black;
            border-radius: 12px;
        }
        input{
            display: block;
            margin: 20px 0 20px 0;
            border: 2px solid black;
            height: 30px;
            border-radius: 12px;
        }
    </style>
</head>
<body>
<input type="text" id="random_value" placeholder="숫자를 적어주세요.">
<button type="submit" id="submit_all" onclick="changeTxt()">문제 볼게요!</button>
<div id="blanked_text"></div>
</body>
</html>
js


function changeTxt(){
    const testTxt = document.getElementById('original_text').value;
    const arr1 = testTxt.split(' ');
    const englishReg = /^[A-Za-z][A-Za-z0-9]*$/;
    let standardNum = document.getElementById('random_value').value;
    let arr2 = [];
    let word;
    for(let i=0; i<arr1.length; i++){
        if(i%standardNum === 0 && englishReg.test(arr1[i])){
            word = `_________`
        }else{
            word = arr1[i];
        }
        arr2.push(word);
    }

    let result = ''
    for(let j=0; j<arr2.length; j++){
        result = result + arr2[j] + ' '
    }
    console.log(result);
    const blankedDiv = document.getElementById('blanked_text');
    blankedDiv.innerText = result;
}