【发布时间】:2012-06-19 09:25:28
【问题描述】:
我需要验证用户的屏幕名称以确保它不能有一个以上的连字符或下划线我不希望人们的屏幕名称都是标点符号。
这是我目前得到的验证:
public boolean validateScreenName(String screenName) {
// Check screen name has > 0 chars and that it contains only a-z, A-Z, _ and -
boolean validated = false;
if (screenName.matches("[a-zA-Z0-9_-]{1,20}")
&& (! screenName.equals(""))
&& (! screenName.contains("\\s"))) {
validated = true;
} else {
validated = false;
}
return validated;
}
我想以 RegEx 的形式添加无多个连字符/下划线验证作为另一个 if 条件?
【问题讨论】:
-
额外的正则表达式
"[a-zA-Z0-9]*[-_]?[a-zA-Z0-9]*"怎么样?这允许 0 或 1 个下划线(删除?使其成为 1 个强制性下划线)。
标签: java regex validation hyphen