簡體   English   中英

檢查字符串是否僅包含字母-電子郵件驗證

[英]Check if a string only contains letters - Email Validation

我是Android開發的新手。 在我的登錄身份驗證活動中,我希望驗證輸入字段。 我想要在“。”之后的字符。 只能是字母。

ehsan @ gmail。 com

如果用戶鍵入如下字符串:ehsan@gmail.23返回false並進行祝酒。 我的代碼是:

String email = "ehsan@gmail.com";
String[] ar = email.split(".");

    if ( !ar[ar.length -1].matches("[a-z]") ){
        Toast.makeText(getApplicationContext(), "your email is invalid", Toast.LENGTH_LONG).show();
return false; }

當我運行此代碼時,應用程序強制關閉。 怎么了?

請使用Patterns類來驗證電子郵件地址:

public static boolean isValidEmail(String email) {
    return !TextUtils.isEmpty(email) && Patterns.EMAIL_ADDRESS.matcher(email).matches();
}

我不確定,但是我想問題出在字符@,它不在z間隔內。 因此,嘗試

!ar[ar.length -1].matches("[a-z@]")

另外,請記住,電子郵件可能包含其他特殊字符,例如“ _”

email.matches(".+\\\\.[a-zA-Z]+")似乎可以完成工作。 它不是世界上最復雜的正則表達式,但是可以工作。

valid@gmail.com匹配項。 invalid@gmail.a1b不匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM