我想检查用户是否在注册活动中输入了有效的用户ID名称
用户ID除此之外还应包含字母数字字符。 - _ 应该以字母开头,不能有。 - _在开头或结尾或重复 用户ID应以字母
开头我用过这个,但似乎没有用,
UserID.matches("^.*[^a-zA-Z0-9 ].*$")
任何想法如何解决这个问题?
答案 0 :(得分:1)
您可以在正则表达式中添加\\w
以匹配字母数字字符和_
符号。
[A-Za-z][\\w.-]+[a-zA-Z0-9]
System.out.println("Alex.Thomas".matches("[A-Za-z][\\w.-]+[a-zA-Z0-9]"));
System.out.println("George_Gallowy".matches("[A-Za-z][\\w.-]+[a-zA-Z0-9]"));
System.out.println("George_Gallowy.".matches("[A-Za-z][\\w.-]+[a-zA-Z0-9]"));
<强>输出:强>
true
true
false