Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Kiểm tra văn bản EditText có phải địa chỉ email hợp lệ trên Android

Trước khi đi vào ví dụ, chúng ta nên biết kịch bản kiểm tra. Trên trang đăng nhập, thường lấy email và mật khẩu từ EditText. Khi lấy email từ EditText, chúng ta cần biết định dạng có hợp lệ hay không.

Ví dụ này minh họa cách kiểm tra văn bản của EditText có phải địa chỉ email hay không.

Bước 1

Tạo một dự án mới trong Android Studio, vào File → New Project và điền đầy đủ thông tin cần thiết để tạo dự án mới.

Bước 2

Thêm mã sau vào res/layout/activity_main.xml.

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"    xmlns:app="https://schemas.android.com/apk/res-auto"    xmlns:tools="https://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:gravity="center_horizontal"    tools:context=".MainActivity">    <EditText       android:id="@+id/email"       android:hint="Email id"       android:layout_width="match_parent"       android:layout_height="wrap_content" />    <Button       android:id="@+id/valid"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:text="Check validation" /> </LinearLayout>

Trong layout trên, chúng ta thêm EditText và Button. Người dùng nhập email hoặc chuỗi trong EditText, khi nhấn Button sẽ kiểm tra tính hợp lệ của chuỗi đã nhập.

Bước 3

Thêm mã sau vào src/MainActivity.java

import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import java.util.regex.Matcher; import java.util.regex.Pattern; public class MainActivity extends AppCompatActivity {    String emailRegEx;    @Override    protected void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.activity_main);       emailRegEx = "^[A-Za-z0-9._%+\\-]+@[A-Za-z0-9.\\-]+\\.[A-Za-z]{2,4}$";       final EditText email = findViewById(R.id.email);       Button valid = findViewById(R.id.valid);       valid.setOnClickListener(new View.OnClickListener() {          @Override          public void onClick(View v) {             Pattern pattern = Pattern.compile(emailRegEx);             Matcher matcher = pattern.matcher(email.getText().toString());             if (email.getText().toString().isEmpty()) {                Toast.makeText(MainActivity.this, "please enter email id", Toast.LENGTH_LONG).show();             } else if (!matcher.find()) {                Toast.makeText(MainActivity.this, "Not an email id", Toast.LENGTH_LONG).show();             } else {                Toast.makeText(MainActivity.this, "email id is valid", Toast.LENGTH_LONG).show();             }          }       });    } }

Trong mã trên, sử dụng Pattern và Matcher để tìm chuỗi đã cho có hợp lệ hay không.

Bước 4

Không cần thay đổi file manifest.xml

Hãy thử chạy ứng dụng. Giả sử bạn đã kết nối thiết bị Android thực tế với máy tính. Để chạy ứng dụng từ Android Studio, mở một file activity của dự án và nhấn biểu tượng Run từ thanh công cụ. Chọn thiết bị di động của bạn làm tùy chọn và kiểm tra thiết bị sẽ hiển thị màn hình mặc định:

Kiểm tra văn bản EditText có phải địa chỉ email hợp lệ trên Android

Trong ví dụ trên, chúng ta không nhập gì vào EditText và nhấn nút, nó hiển thị cảnh báo "plz enter email id"

Kiểm tra văn bản EditText có phải địa chỉ email hợp lệ trên Android

Trong ví dụ trên, chúng ta nhập email sai định dạng. Nó hiển thị cảnh báo "Not an email id"

Kiểm tra văn bản EditText có phải địa chỉ email hợp lệ trên Android

Trong ví dụ trên, chúng ta nhập email đúng định dạng, nó cho kết quả "Email id is valid".