如何查找输入标记中的字符数

时间:2016-03-08 20:59:34

标签: javascript jquery html

我需要一些帮助来查找输入标记中的字符数,并在有一定数量时创建警报。就像有25个,然后它会创建一个警告,说" Max"。 Here是它的小提琴。这是我的一点点 -

Char.innerText = $("#input:text").val().length;

这适用于我正在使用它的内容,但是当我尝试在Char语句中使用if时,它无法正常工作。

5 个答案:

答案 0 :(得分:0)

为什么不使用它:

if ($("#input:text").val().length == 25) {
 alert('MAXXX');
}

答案 1 :(得分:0)

在你的keyup函数中添加if语句:

if ($("#input:text").val().length == 25){
        alert("Too many characters.");
    }

Updated JSFiddle

编辑:卢克只是打败了我,但是把它放在了JSfiddle中。

答案 2 :(得分:0)

正如Dave在评论中指出的那样,您需要确保将Char.innerText与字符串进行比较,因为它是文本。

以下是使用if的有效Char.innerText语句:

if (Char.innerText == "25") {
  // alert
}

或者,您可以将Char.innerText更改为整数并与25进行比较。

答案 3 :(得分:0)

这是另一种带有事件和一些警报和输出的方法。限制是五个特征。

function textCounter2(field, counter, maxlimit) {
    if (field.value.length > maxlimit) {
        field.value = field.value.substring(0, maxlimit);
        alert('Max!');
    } else {
        document.getElementById(counter).innerText = maxlimit - field.value.length;
    }
}
<input name="test" onkeyup="textCounter2(this, 'subtitlecount_lbl', 5)" onchange="textCounter2(this, 'subtitlecount_lbl', 5)" /><br />
<span id="subtitlecount_lbl"></span> characters left

答案 4 :(得分:0)

由于您已经在输入元素中使用了maxlength属性,为什么不与该值进行比较,而不是将其硬编码到if语句中。

此外,不是在键盘事件上触发此操作,而该键盘事件也会检测到Tab键或其他非打印控制字符的按下,您应该使用输入事件。

$('#input:text').on('input', function checkLength() {
  var max = this.getAttribute('maxlength');
  if (max && this.value.length == max) {
    alert('max length reached');
  }
});