2014-09-01 27 views
0

我想检查用户是否在注册活动中输入了有效的用户ID名称android:验证用户ID

用户标识应该带有字母数字字符。 - _ 应该以字母开头并且不能有。 - _在开始或结束或复制 用户ID应与信

我用这个,但似乎并没有被工作开始,

UserID.matches("^.*[^a-zA-Z0-9 ].*$") 

任何想法如何解决这一问题?

+0

确实要允许'。 - _'? – 2014-09-01 10:06:03

+0

是的,类似于电子邮件ID,它可以是Alex.Thomas或Tom-Jerry或George_Gallowy – asmgx 2014-09-01 10:07:14

+0

http://www.mkyong.com/regular-expressions/how-to-validate-email-address-with-regular-表达/ – 2014-09-01 10:10:24

回答

1

您可以在正则表达式中添加\\w以匹配字母数字字符和_符号。

[A-Za-z][\\w.-]+[a-zA-Z0-9] 

DEMO

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 
+0

我刚把它改成这个^ [A-Za-z] [\ w .-] + [a-zA-Z0-9] $ thx – asmgx 2014-09-01 10:38:03

+0

对不起 – asmgx 2014-09-01 10:55:35