Javascript 防止输入字段显示不带';不匹配正则表达式
我正在检查输入字段中键入的每个字符,与一些正则表达式相对照。输入框中的第一个字符可能与第二个字符具有不同的“条件”,依此类推。例如:我想在第一个字符中允许数字1-3,在第二个字符中允许数字5-9 我将event.key与正则表达式进行比较。一切都很好,但我不知道如何防止输入字段中出现“false”值。一个错误的值应该导致…嗯,绝对没有 html“pattern”属性当然帮不了我,因为我需要在每次按键时执行此检查 如何防止键入的字符实际上被“同化”到输入值中 编辑:以下是我到目前为止的一些代码..:Javascript 防止输入字段显示不带';不匹配正则表达式,javascript,html,Javascript,Html,我正在检查输入字段中键入的每个字符,与一些正则表达式相对照。输入框中的第一个字符可能与第二个字符具有不同的“条件”,依此类推。例如:我想在第一个字符中允许数字1-3,在第二个字符中允许数字5-9 我将event.key与正则表达式进行比较。一切都很好,但我不知道如何防止输入字段中出现“false”值。一个错误的值应该导致…嗯,绝对没有 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...
})
返回false
如果按下的键与您的regExp匹配。这里我想防止文本框中出现空格
用户名
$(函数(){
var uname=$(“输入#用户名”);
var func=函数(){
uname.val(uname.val().replace(/\s/g');
uname.val(uname.val().toLowerCase());
}
取消加密(func).blur(func);
});
请分享你的第一种方法。你能分享你到目前为止尝试过的方法吗?我添加了一些代码..不,不会阻止字符显示在字段中。我还尝试了preventDefault(),以防比较失败,因为您使用了错误的事件侦听器。你不能阻止已经发生的事情。。。你需要检查用按键按下的是哪个键,用按键没有退步:我不能投反对票,但这是非常令人讨厌的。您将立即删除用户的输入。你绝对不应该这样做。。如果你这么做,UI/UX团队可能会揍你:染料@CristianS。当然,但我们不知道OP想要什么样的案子,