フォームの送信ボタンをクリックしたときにテキストエリアの単語数をカウントする関数を探していました。
ユーザーが[送信]をクリックして、入力した単語が50語以下の場合、ユーザーにメッセージを表示しようとしています。これは、基本的に「入力した単語が50語未満ですが、続行しますか?」などの確認メッセージになります。
乾杯
フォームの送信ボタンをクリックしたときにテキストエリアの単語数をカウントする関数を探していました。
ユーザーが[送信]をクリックして、入力した単語が50語以下の場合、ユーザーにメッセージを表示しようとしています。これは、基本的に「入力した単語が50語未満ですが、続行しますか?」などの確認メッセージになります。
乾杯
スペースをスプリッターとして使用する方法を使用する必要がsplit
あります。その後、配列の長さを取得します。
var wordCount = $('textarea').val().split(' ').length
別の方法として、正規表現を使用し、次を使用して「単語」をカウントできます\b
。
var words = $('#textareaid').val().match(/\b(\w+)\b)/g).length;
忍者-おっと編集.val
、すべきではなかった.text
HTML:
<form id="confirmForm">
<textarea id="moreThan50"></textarea>
<button type="submit">Submit</button>
</form>
JS:
$('#confirmForm').submit(function(ev){
var wordCount = $('#moreThan50').val().split(/\s/g).length;
if (wordCount < 50) {
if (!confirm('Less than 50 words, are you sure you want to submit?')) {
ev.preventDefault();
}
}
});
正規表現を使用して、単語の境界で分割できます。
$('form').submit(function(){
var words = $('textarea', this).val().split(/\b\W/);
if (words.length < 50){
// propmpt here.. and allow or cancel the submit..
}
});