Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止输入字段显示不带';不匹配正则表达式_Javascript_Html - Fatal编程技术网

Javascript 防止输入字段显示不带';不匹配正则表达式

Javascript 防止输入字段显示不带';不匹配正则表达式,javascript,html,Javascript,Html,我正在检查输入字段中键入的每个字符,与一些正则表达式相对照。输入框中的第一个字符可能与第二个字符具有不同的“条件”,依此类推。例如:我想在第一个字符中允许数字1-3,在第二个字符中允许数字5-9 我将event.key与正则表达式进行比较。一切都很好,但我不知道如何防止输入字段中出现“false”值。一个错误的值应该导致…嗯,绝对没有 html“pattern”属性当然帮不了我,因为我需要在每次按键时执行此检查 如何防止键入的字符实际上被“同化”到输入值中 编辑:以下是我到目前为止的一些代码..

我正在检查输入字段中键入的每个字符,与一些正则表达式相对照。输入框中的第一个字符可能与第二个字符具有不同的“条件”,依此类推。例如:我想在第一个字符中允许数字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想要什么样的案子,