我尝试做一个简单的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>
答案 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个字符后如何触发动作。您给出的答案仅设置了最大字符串长度,但除此之外没有任何作用。实际上应该修改主题行...