如何验证文本是否只包含字母字符?
我认为我们可以使用Pattern.matches()
,但我不知道字母字符的正则表达式。
答案 0 :(得分:2)
对输入文本的开头和结尾使用字母,输入matches
和分隔符的类别,如下所示:
String valid = "abc";
String invalid = "abc3";
Pattern pattern = Pattern.compile("^\\p{Alpha}+$"); // use \\p{L} for Unicode support
Matcher matcher = pattern.matcher(valid);
System.out.println(matcher.matches());
matcher = pattern.matcher(invalid);
System.out.println(matcher.matches());
输出:
true
false
注意:这也可以防止空输入。如果您想允许它们,请使用与+
不同的量词,即*
。
最后,由于您将对java.awt.TextField
使用该内容,因此您只需使用方法getText()
访问其文字。
答案 1 :(得分:2)
如果你使用 JFormattedTextField
会更好这里有更多信息:http://docs.oracle.com/javase/7/docs/api/javax/swing/JFormattedTextField.html