动态地在textarea内的单词中的字符限制

时间:2017-06-06 09:04:35

标签: javascript php textarea

我试图限制一个单词中的字符数。我成功地找到了,如果有人输入超过15个字符。我正在显示一条消息。我想要做的是,如果有人输入超过15个字符...... java脚本会显示一个警告,然后删除所有字母,从而留下该字中的前14个字符。我试图找到一些有用的功能,但从未找到有用的东西。 我想在用户仍然输入时动态检查字符限制。 我的代码是完整的一半,但它有一个缺陷。当计数达到15以上时,它会显示消息,显示警报。现在,用户仍然可以保存一个单词中包含超过15个字符的字符串。希望我解释一切。谢谢所有人,对于那些要事先付出一些努力的人。

<textarea id="txt" name="area" onclick="checkcharactercount()"></textarea>


function checkcharactercount(){
  document.body.addEventListener('keyup', function(e) {
      var val = document.getElementById("txt").value;
      var string = val.split(" ");
      for(i=0;i<string.length; i++) {
        len = string[i].length;
        if (len >= 15) {
          alert('you have exceeded the maximum number of charaters in a word!!!');
          break;
        }
      }
  });
}

1 个答案:

答案 0 :(得分:0)

这是否像你想要的那样工作?

&#13;
&#13;
var textArea = document.getElementById('txt');
textArea.addEventListener('keyup', function () {
  var val = textArea.value;
  var words = val.split(' ');
  for (var i = 0; i < words.length; i++) {
    if (words[i].length > 14) {
      // the word is longer than 14 characters, use only the first 14
      words[i] = words[i].slice(0, 14);
    }
  }
  
  // join the words together again and put them into the text area
  textArea.value = words.join(' ');
});
&#13;
<textarea id="txt" name="area"></textarea>
&#13;
&#13;
&#13;