当我单击表单提交按钮时,我一直在寻找一个计算文本区域中单词数的函数。
我正在尝试向用户显示一条消息,如果他们单击提交并且只输入了 50 个或更少的单词。这将是一条确认消息,基本上是说“您输入的字数少于 50 个,您确定要继续吗?”...或其他内容。
干杯
当我单击表单提交按钮时,我一直在寻找一个计算文本区域中单词数的函数。
我正在尝试向用户显示一条消息,如果他们单击提交并且只输入了 50 个或更少的单词。这将是一条确认消息,基本上是说“您输入的字数少于 50 个,您确定要继续吗?”...或其他内容。
干杯
您应该使用split
使用空格作为分隔符的方法,然后获取数组的长度。
var wordCount = $('textarea').val().split(' ').length
另一种方法,您可以使用正则表达式并使用以下方法计算“单词” \b
:
var words = $('#textareaid').val().match(/\b(\w+)\b)/g).length;
Ninja-Edit哎呀,应该.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..
}
});