繁体   English   中英

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

[英]Java: Validate textfield input if it only contains alphabetic characters

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

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

使用alphabetics类别,结合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()方法访问其文本。

如果您使用JFormattedTextField会更好

此处提供了更多信息: http : //docs.oracle.com/javase/7/docs/api/javax/swing/JFormattedTextField.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM