21
21

More than 5 years have passed since last update.

Android(Java)での簡単な正規表現バリデーション

Last updated at Posted at 2014-10-06

--
inputTypeは便利だけど、入力制限だけ(ですよね?)。
バリデーションにはやはり正規表現。String.matchesを使えばいい。
一字ずつ処理チェックしたい場合はEditTextのaddTextChangedListenerを使えば良いみたい。

正規表現は、\の扱いにちょっと癖があるな。.は\.ではなく\.みたい(Markdown上だと1本おおい)。

MyActivity.java
public class MyActivity extends Activity {

    private EditText etEmail;
    private String email;
    //パターン(\\に注意)
    private String email_pattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);

        //email
        etEmail = (EditText)findViewById(R.id.etEmail);

    }

    //XMLのonClickで設定
    public void onClick(View v){

        String email = etEmail.getText().toString();
        if(email.matches(email_pattern)){
            //match
            Toast.makeText(getApplicationContext(),"match",Toast.LENGTH_SHORT).show();

        }else{
            //unmatch
            Toast.makeText(getApplicationContext(),"un match",Toast.LENGTH_SHORT).show();

        }
    }
21
21
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
21