2014-09-01 33 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