java - 如何验证 Jtextfield 仅允许 Java 中的字母?

标签 java validation jtextfield

尝试使该字段仅允许字母,但“(c !='[a-zA-Z]+') ”上出现错误,表示字符常量无效

textField_CustomerFirstName = new JTextField();
            textField_CustomerFirstName.setBounds(152, 100, 273, 22);
            textField_CustomerFirstName.setColumns(10);
            contentPane.add(textField_CustomerFirstName);
            textField_CustomerFirstName.addKeyListener(new KeyAdapter() {
                public void keyTyped(KeyEvent e) {
                    // allows only numbers and back space
                     char c = e.getKeyChar();
                      if ( ((c !='[a-zA-Z]+') && (c != KeyEvent.VK_BACK_SPACE)) {
                         e.consume();  // ignore event
                      }
                }
            });

最佳答案

首先,event.getKeyChar()event.getKeyCode() 之间存在差异。 其次,您可以使用java.lang.Character中的静态方法,我相信您可能会遇到以下情况:

int code = e.getKeyCode();
char c = e.getKeyChar();
if(!Character.isLetter(c) && code!=KeyEvent.VK_BACK_SPACE) {
    e.consume();  // ignore event
}

您可能还想调查 Character.isAlphabetic 是否适合您的目的。

关于java - 如何验证 Jtextfield 仅允许 Java 中的字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49556130/

相关文章:

Java 获取给定高度的字体大小

javascript - 验证表单和字段验证的两个事件

java - 如何使用 JButton 从 JTextField 获取 int

java - 将 JTextField 作为数组添加到 GUI

java - 单击面板时失去对 JTextField 的关注

java - Spring MVC @Pathvariable 将不起作用

java - Google map api 搜索位置并添加显示 NullPointEreException 错误的标记

java - 使用 Jackson 忽略某些字段反序列化而不更改模型

java - 如何使用 JSR 验证来验证 Spring 中的 Controller 方法参数?

ruby-on-rails - Rails3.1 : Options in a custom validator?