使用jQuery进行客户端文本框字符限制验证?

时间:2009-08-20 03:06:06

标签: javascript jquery validation

我有一个文本框,必须有一个MIN字符数和一个MAX字符数。在允许用户提交表单之前,使用jQuery确保输入在范围内(同时向用户显示状态消息)的最佳方法是什么?

更新:以下代码在某种程度上有效,但是在删除文本时遇到问题。由于它使用'keypress'来捕获文本框中的事件,因此当按下退格键时,'length'变量会错误地增加。似乎问题是文本的长度是在事实之前检索,即按键将始终导致之前的长度加上1.这是什么方法?< / p>

更新:我认为我使用keyup函数代替keypress解决了上一个问题

1 个答案:

答案 0 :(得分:1)

如果这是您应用中唯一的客户端验证(也总是在服务器上验证!)那么它看起来像这样:

$("#your_textbox").keypress(function() {
  var length = this.value.length;
  if(length >= MIN && length <= MAX) {
    $("#your_submit").removeAttr("disabled");
    $("#your_validation_div").hide();
  } else {
    $("#your_submit").attr("disabled", "disabled");
    $("#your_validation_div").show();
  }
});

如果您需要在应用程序中进行大量验证,可能需要考虑validation plugin

设置maxlength attribute

<input type='text' maxlength="30" />