设置输入类型的长度

时间:2018-06-30 10:42:58

标签: javascript html

我尝试做一个简单的JavaScript函数,为输入标签设置“文本”类型的长度。我希望它执行匹配,只要文本达到6个字符。我在下面执行此代码,问题是在输入6个字母之前还说找到匹配项。

function clean(e) {
  var t = document.getElementById(e);
  var regex = /[^a-z _ ].{6,}/gi;
  if (t.value.search(regex) > -1) {
    document.getElementById('status').innerHTML = "  NO match found";
  } else {
    document.getElementById('status').innerHTML = "  match found";
  }
  t.value = t.value.replace(regex, "");
}
<input id="ta" name="ta" onkeyup="clean('ta')" onkeydown="clean('ta')" type="text" />
<div id="status"></div>

3 个答案:

答案 0 :(得分:1)

当html提供maxlength属性以设置最大长度时,为什么要编写javascript函数?

只需使用:

<input type="text" maxlength="6">

答案 1 :(得分:0)

function clean(e) {
      var t = document.getElementById(e);
      var regex = /[a-z].{6}/;
      if (t.value.search(regex) < 0) {
        document.getElementById('status').innerHTML = "  NO match found";
      } else {
        document.getElementById('status').innerHTML = "  match found";
      }
      t.value = t.value.replace(regex, "");
}

答案 2 :(得分:0)

问题是询问输入字符串达到6个字符后如何触发动作。您给出的答案仅设置了最大字符串长度,但除此之外没有任何作用。实际上应该修改主题行...