我正在检查输入字段中输入的每个字符,而不是某些正则表达式。输入框中的第一个字符可能与第二个字符具有不同的“条件”,依此类推。例如:我想允许第一个字符中的数字1-3,以及第二个字符中的5-9。
我正在将event.key与正则表达式进行比较。一切都很好,但我不知道如何防止“错误”值出现在输入字段中。错误的值应该导致......好吧,绝对没有。
html“pattern”属性当然不会帮助我,因为我需要在每次按键时执行此检查。
如何防止输入的字符实际被“同化”为输入值?
编辑:这是我到目前为止的一些代码..:
element.bind('keyup', (e) => {
var patt = new RegExp(/[0-3]/);
var res = patt.test(e.key);
console.log(res)
if(!res){
//do something...
})
答案 0 :(得分:1)
return false
如果按下的键与您的regExp匹配。
答案 1 :(得分:0)
这里我想阻止文本框中的空格
<label>Username</label>
<input type="text" id="username" name="username" placeholder="Username">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(function () {
var uname = $("input#username");
var func = function () {
uname.val(uname.val().replace(/\s/g, ''));
uname.val(uname.val().toLowerCase());
}
uname.keyup(func).blur(func);
});
</script>
&#13;
在这种情况下,您可以应用逻辑。