程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-在一個EditText中驗證電子郵件

android-在一個EditText中驗證電子郵件

編輯:編程綜合問答
在一個EditText中驗證電子郵件

我想要在一個EditText中驗證一個電子郵件的地址,下邊的代碼是我已經寫了的:

final EditText textMessage = (EditText)findViewById(R.id.textMessage);

final TextView text = (TextView)findViewById(R.id.text);

   textMessage.addTextChangedListener(new TextWatcher() { 
        public void afterTextChanged(Editable s) { 
            if (textMessage.getText().toString().matches("[a-zA-Z0-9._-]+@[a-z]+.[a-z]+") && s.length() > 0)
            {
                text.setText("valid email");
            }
            else
            {
                text.setText("invalid email");
            }
        } 
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {} 
        public void onTextChanged(CharSequence s, int start, int before, int count) {} 
    }); 

問題是當我在@後引用3個字符,它出現提示“有效的郵件地址”,當我填完完整的郵件地址後它必須出現。

謝謝

最佳回答:


將你的正則表達式改成下邊這個

"[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+"

因為.的意思是匹配所有的單字符,在你的點前邊添加一個雙反斜槓才代表一個真正的點。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved