如何使用JQuery在JavaScript中计算单词

kir*_*rby 6 javascript validation jquery word-count

我有一个简单的html文本框.当我"提交"文本框所在的表单时,我想使用Jquery 获取一个包含单词数量的变量.我还想检查输入的文本是否只是字母,数字和连字符(也在jquery中).在提交表单时,我不需要像用户输入那样计算单词.如果关闭jquery,表单将不会提交,所以我猜不使用php没有安全风险.这是真的?

HTML:

<input type='text' name='name' id='name' />
<input type='button' value='Sign Up' id='signUp'>
Run Code Online (Sandbox Code Playgroud)

JQUERY(尝试):

var wordcount = $('#name').val()  // i don't know how to count the words 
Run Code Online (Sandbox Code Playgroud)

mrt*_*man 15

您将拆分字符串,然后计算结果数组的长度.

$('input[type="submit"]').click( function() {
    var words = $('#name').val().split(' ');
    alert(words.length);
});
Run Code Online (Sandbox Code Playgroud)


KXL*_*KXL 5

其他答案略有改善,因为处理更多边缘案例.即一起使用多个空格和标点符号,并在文本的开头和结尾处理正确的标点符号.

var numOfWords = $('#name').val().replace(/^[\s,.;]+/, "").replace(/[\s,.;]+$/, "").split(/[\s,.;]+/).length;
Run Code Online (Sandbox Code Playgroud)

它首先删除文本开头和结尾处的任何标点符号和空格,然后计算剩下的内容.显然,如果需要,可以添加更多标点符号(如感叹号).