1. ホーム
  2. android

[解決済み] AndroidでEditTextでメールアドレスの検証を行う【重複あり

2022-02-09 22:12:57

質問

をどのように実行すればよいのでしょうか? Email Validation について edittextandroid ? google & SOで調べてみましたが、簡単に検証する方法は見つかりませんでした。

どのように解決するのですか?

メールバリデーションを行うには様々な方法がありますが、最もシンプルで簡単な方法は 2つの方法 .

1- 使用方法 EditText(....).addTextChangedListener の入力があるたびにトリガーされ続ける。 EditText box 例えば、email_idが無効か有効か。

/**
 * Email Validation ex:- [email protected]
*/


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

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

String email = emailValidate.getText().toString().trim();

String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";

emailValidate .addTextChangedListener(new TextWatcher() { 
    public void afterTextChanged(Editable s) { 

    if (email.matches(emailPattern) && s.length() > 0)
        { 
            Toast.makeText(getApplicationContext(),"valid email address",Toast.LENGTH_SHORT).show();
            // or
            textView.setText("valid email");
        }
        else
        {
             Toast.makeText(getApplicationContext(),"Invalid email address",Toast.LENGTH_SHORT).show();
            //or
            textView.setText("invalid email");
        }
    } 
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    // other stuffs 
    } 
    public void onTextChanged(CharSequence s, int start, int before, int count) {
    // other stuffs 
    } 
}); 

2- を使った最もシンプルな方法です。 if-else という条件を設定します。getText()でEditTextボックスの文字列を取得し、メール用に提供されたパターンと比較します。パターンにマッチしないか、マッチした場合、ボタンをクリックすると、メッセージが表示されます。EditTextボックスに文字が入力されるたびにトリガーされるわけではありません。

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

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

String email = emailValidate.getText().toString().trim();

String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";

// onClick of button perform this simplest code.
if (email.matches(emailPattern))
{
Toast.makeText(getApplicationContext(),"valid email address",Toast.LENGTH_SHORT).show();
}
else 
{
Toast.makeText(getApplicationContext(),"Invalid email address", Toast.LENGTH_SHORT).show();
}