如何检查是否按下了字母或数字以外的字符

时间:2013-07-26 08:47:42

标签: java gwt keyboard-events

我的字段只允许Alphanumeric values。我需要检查用户可以使用“ shift ”键输入capital letter的方案( OKAY

  

SHIFT + a = A

也可以使用“ shift ”键( NOT OKAY )输入垃圾字符,例如

  

SHIFT + 1 =!

如果按下“SHIFT”键,如何只允许使用字符validation

if(NativeEvent.getShiftKey()){
...........
}

1 个答案:

答案 0 :(得分:0)

如果您想检测按键,可以使用KeyUpHandlerKeyDownHandler

TextBox t = new TextBox();
t.addKeyUpHandler(new KeyUpHandler() {

    @Override
    public void onKeyUp(KeyUpEvent event) {
        int pressedKey = event.getNativeKeyCode();
    }
});

您可以使用“pressedKey”整数来查看用户按下的键代码。同样有趣的是KeyCodes,其中包含特殊键的代码。

如果您想要验证用户输入,最简单的方法是使用HTML5 form validation。要实现该方法,您可以像这样设置字段:

TextBox t = new TextBox();
t.getElement().setAttribute("required", "required");
t.getElement().setAttribute("pattern", "[a-zA-Z0-9]+");

Here's another resource用于HTML5表单验证。 And another