0

如何验证文本是否仅包含字母字符?

我认为我们可以使用Pattern.matches(),但我不知道字母字符的正则表达式。

4

2 回答 2

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

注意:这也可以防止空输入。如果您想允许它们,请使用与 不同的量词+,即*

最后,由于您将使用它来对抗 a java.awt.TextField,您可以简单地使用方法访问其文本getText()

于 2013-08-04T16:21:37.537 回答
2

如果你使用JFormattedTextField会更好

这里有更多信息:http ://docs.oracle.com/javase/7/docs/api/javax/swing/JFormattedTextField.html

于 2013-08-04T16:27:16.320 回答