如何避免用户使用javascript输入前两个字符的数字(但所有字符必须是数字)

时间:2017-09-18 17:07:34

标签: javascript asp.net

我在表单中有一个要求。我的表单有文本框字段“DEA许可证编号”.textbox必须允许用户仅输入前两个字符的字母和仅在两个字符后面的数字。我想使用javascript实现此功能。注意: - 我不想要验证,但避免用户输入

3 个答案:

答案 0 :(得分:0)

您是否尝试过使用正则表达式?

看一下这篇文章的目标非常相似:RegEx pattern any two letters followed by six numbers

答案 1 :(得分:0)

答案 2 :(得分:0)

您可以使用正则表达式轻松测试:

function isValid(str) {
    return /^[a-zA-Z]{2}\d+$/.test(str);
}

我不太清楚你的意思是“我不想要验证,但要避免用户输入。”如果您的意思是您不希望用户能够键入无效字符,理论上可以使用input事件处理程序来完成:

var oldValue = "";
document.getElementById("test").addEventListener("input", function(e) {
  var value = e.target.value;
  if ((value.length <= 2 && /^[a-zA-Z]*$/.test(value)) || value.length > 2 && /^[a-zA-Z]{2}\d+$/.test(value)) oldValue = value
  else e.target.value = oldValue;
})

但是,由于用户可能输入了不完整的值,因此您仍需要在提交时对其进行验证。