【jQuery】テキストエリアで1行毎に文字数をカウントして任意の数値を超えたらアラートを出す

メールの規約に「RFC2822」というものがあります。

この規約により、メールの本文で文字数が998バイト以上(日本語なら500文字くらい)の場合に、自動的に改行が挿入されて、改行以降が文字化けしてしまう現象が大体起こります。

そういった文章が送られる可能性のあるメールフォームには、
「1行で500文字を超える場合適度に改行を加えて下さい」といったような注意書きをします。

が、やはり注意書きを見られないユーザーもおられるので、その場合の対処として以下のようなjQueryを記述しています。

jQuery(function( $ ) {
	$("【ボタン】").click(function() {
		//対象のテキストエリアのvalueを取得
		var honbun = $('textarea[name="【テキストエリアのname】"]').val();
		//取得したvalueを改行毎に分ける
		var honbunsplit = honbun.split(/\n/);
		//行数取得
		var gyousu = honbunsplit.length;
		//行毎に回す
		for (var i=0; i<gyousu; i++) {
			//行毎に500文字を超えていないかチェック
			if(honbunsplit[i].length >= '500'){
				alert('【テキストエリア】で500文字を超えている行があるため改行を入れてください。');
				//アラートを優先して表示して、ボタンの挙動を抑える
				return false;
			}
		}
	});
});