我已经使用此正则表达式来检查用户全名。但它也会在用户名的最后一个位置接受数字和特殊字符。
情况:
Shivkant Dohaliya-是
Shivkant Dohaliya1-是
Shivkant Dohaliya @-TRUE
Shivkant Dohaliya!1-假
Shivkant Dohaliya1#-虚假
public void usern()
{
username="^([a-zA-Z]+[ a-zA-Z]+)$";
pattern=Pattern.compile(username);
matcher=pattern.matcher(e1.getUname());
if(matcher.matches()) {
e1.textField1.setBorder(BorderFactory.createLineBorder(Color.GREEN));
} else {
e1.textField1.setBorder(BorderFactory.createLineBorder(Color.RED));
}
}
我希望对于案例2和案例3,它也应该显示红色边框。
最佳答案
也许您应该改用以下模式:
username="^((?:[a-Z][a-Z]+))(\s)((?:[a-Z][a-Z]+))$";
要么
username="^(\w+)(\s)(\w+)$";
仅用于测试两个以空格分隔的单词。