[英]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.