テキストエリアの改行ごとにカウンターのようなものが欲しいです。これは、膨大な数のウェブバナーをアップロードするときに使用されるため、ユーザーが追加した数の簡単なカウンターが必要です。現在、カウンターは、ユーザーが特別なバナーサイズのリンクを押した場合にのみ機能します。
これは私のコードです。
var i = 0;
$('.size').click(function(){
$('#total-number').text(i++);
return false;
});
テキストエリアの改行ごとにカウンターのようなものが欲しいです。これは、膨大な数のウェブバナーをアップロードするときに使用されるため、ユーザーが追加した数の簡単なカウンターが必要です。現在、カウンターは、ユーザーが特別なバナーサイズのリンクを押した場合にのみ機能します。
これは私のコードです。
var i = 0;
$('.size').click(function(){
$('#total-number').text(i++);
return false;
});
文字列split
関数を利用します。
var text = $('#total-number').text();
var eachLine = text.split('\n');
alert('Lines found: ' + eachLine.length);
for(var i = 0, l = eachLine.length; i < l; i++) {
alert('Line ' + (i+1) + ': ' + eachLine[i]);
}
正規表現を使用すると、問題は次のように解決できます (テキストエリアで改行文字 "\n" を検索します)):
//assuming $('#total-number') is your textarea element
var text = $('#total-number').val();
// look for any "\n" occurences
var matches = text.match(/\n/g);
// count them, if there are any
var breaks = matches ? matches.length : 0;
breaks
変数には、テキストの改行数が含まれるようになりました。
ラップする単一行の文字列を意味しますか。私が間違っていなければ、Enter または Shift+Enter を押すと改行が作成されます。
テキストエリアで「\n」を検索します。
確かに、パターン「\\n」の正規表現検索を実行し、一致する配列をカウントします。これが改行カウントになります。