我有一个textarea
我想只允许30个字并删除剩余的额外字词:
$("#short_desc").keydown(function(e){
var d = $(this).val().split(/\b[\s,\.-:;]*/).length;
if(d > 30){
alert("Only 30 words allowed");
e.preventDefault();
// here i want to add logic how to remove words.
return false;
}
});
我尝试过字符计数,但不能缩短这个逻辑。 有人可以提供一些提示吗?
我有一个计算空格的逻辑,然后计算字符数到30个空格,并在该字符数之前得到子字符串。
答案 0 :(得分:2)
取而代之的是;您可以将30个第一个单词分配给textarea
值。
下一个代码效果很好。 {@ 1}}分隔符不会被删除。我使用split()
:任何捕获的文本都包含在结果字符串数组中。
注意:强>
您必须使用想要限制的金额的两倍。您应该使用 60 。
我创建了一个“常量”
capturing parentheses
来使事情变得最简单。
MAX_WORDS_ALLOW
您可以在此处查看此操作:http://jsfiddle.net/xfhoc1gq/2/