Javascript 键盘上的Jquery

Javascript 键盘上的Jquery,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我正在寻找一个函数,当在邮政编码的第一个位置按下某个字符键(g)时,该函数会发出警报,如果邮政编码的开头有字母g,则会禁用提交按钮。 这可能吗 目前,我在邮政编码字段中检测密钥的当前代码如下: $(文档).ready(函数(){ var someTextInputField=“#邮政编码”; $(someTextInputField).on(“keyup”,function(){ 警报(“不是有效的邮政编码”); }); }); Javascript,无需额外的库 document.add

我正在寻找一个函数,当在邮政编码的第一个位置按下某个字符键(g)时,该函数会发出警报,如果邮政编码的开头有字母g,则会禁用提交按钮。 这可能吗

目前,我在邮政编码字段中检测密钥的当前代码如下:

$(文档).ready(函数(){
var someTextInputField=“#邮政编码”;
$(someTextInputField).on(“keyup”,function(){
警报(“不是有效的邮政编码”);
});
});

Javascript,无需额外的库
document.addEventListener(“输入”,函数(e){
如果(e.target.id==“邮政编码”){
var disable=/^g/i.test(例如target.value),
提交=document.getElementById(“提交”);
if(禁用&&!submit.disabled){
警报(“您不能以G开头邮政编码”);
}
submit.disabled=禁用;
}
});


提交
您可以使用
此.value[0]
获取输入的第一个字符。然后测试它是否是允许的字符之一

$(“#输入”)。在(“键控”,函数()上{
if(this.value!=''){
var firstchar=this.value[0].toUpperCase();
if(firstchar!=“A”&&firstchar!=“G”){
警报(“不是有效的邮政编码”);
$(“submitID”).prop(“disabled”,true);
}否则{
$(“submitID”).prop(“禁用”,false);
}
}
});

检查这把小提琴

html:


我把这个问题理解为如果输入以“g”开头,就需要禁用提交按钮。我把它理解为询问如何检测输入以什么开头。如问题所述,alert只是一些示例代码,在这种情况下运行,他将用真实代码替换。需要做的是,当邮政编码字段的第一个输入字符为G或G时,需要禁用submit按钮,并自动警告它不是有效的邮政编码,并删除输入。感谢您的回复。好的,我已经添加了禁用和启用提交按钮的代码。这似乎应该是很明显的。这是可行的,但我如何使用此功能获得弹出警报?如果您向事件侦听器添加elment id,此功能也不起作用?@SaoTith,在事件侦听器中,我使用
input
而不是
keyup
,因为它更具响应性
keyup
仅在松开键时触发,但
input
在输入每个字符后触发(因此如果按住“j”直到获得“jj”然后您将有五个事件。要检查id,您需要查看
e.target
,这是实际的输入框。我将修改答案以显示这一点。如果您使用多个字母,例如G、H、I,该函数将如何工作?可能会有所帮助。您可以将
/^G/
替换为
/^[ghi]/i
。这也将禁用任何时候键入g或g时,我只需在第一个位置(邮政编码的第一个字母)进行检测
<input id="test" type="text" />
$(document).ready(function() {
    $("#test").on("keypress", function(e) {  
        if ((e.keyCode == '65') ||
            (e.keyCode == '71')) { 
            alert('not a valid postal code');
            return false;
        }
    });  
});