[JavaScript]textareaを1行づつ処理する

htmlのtextareaタグ内に入力されたコンテンツを1行づつ配列にセットする処理です。

splitByLine = function() {
    var text  = document.getElementById('srcTextArea').value.replace(/\r\n|\r/g, "\n");
    var lines = text.split( '\n' );
    var outArray = new Array();
 
    for ( var i = 0; i < lines.length; i++ ) {
        // 空行は無視する
        if ( lines[i] == '' ) {
            continue;
        }
 
        outArray.push( lines[i] );
    }
 
    return outArray;
}




textarea内の改行文字は,クライアント側のOSによってCR,LF,CR+LFの場合があります。
この為、1行目で正規化(全て\nに統一)させています。その後、正規化後の文字列に対して\nを区切り文字として配列としてlines変数にセットします。

コメント入力など、空行も含めてデータとしたい場合はlinesの中身が欲しいデータとなりますし、空行はデータとして無効な場合は例のようにスキップさせればOKです。

関連記事

コメントを残す

メールアドレスが公開されることはありません。