Java:如果仅包含字母字符,则验证文本字段输入

时间:2013-08-04 16:16:01

标签: java regex character-properties

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

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

2 个答案:

答案 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