Computer >> Máy Tính >  >> Lập trình >> Android

Làm thế nào để xác minh nhập số là số điện thoại hay không bằng cách sử dụng regex trong Android?

Ví dụ này trình bày cách xác minh nhập số có phải là số điện thoại hay không, bằng cách sử dụng regex trong android.

Bước 1 - Tạo một dự án mới trong Android Studio, đi tới Tệp ⇒ Dự án Mới và điền tất cả các chi tiết cần thiết để tạo một 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"
   android:id = "@+id/parent"
   xmlns:tools = "https://schemas.android.com/tools"
   android:layout_width = "match_parent"
   android:layout_height = "match_parent"
   tools:context = ".MainActivity"
   android:gravity = "center"
   android:orientation = "vertical">
   <EditText
      android:id = "@+id/enterNumber"
      android:layout_width = "match_parent"
      android:hint = "Enter phone number"
      android:layout_height = "wrap_content" />
   <TextView
      android:id = "@+id/text"
      android:textSize = "18sp"
      android:textAlignment = "center"
      android:text = "click"
      android:layout_width = "match_parent"
      android:layout_height = "wrap_content" />
</LinearLayout>

Trong đoạn mã trên, chúng tôi đã thực hiện Chỉnh sửa văn bản và chế độ xem văn bản. khi người dùng nhấp vào chế độ xem văn bản, nó sẽ lấy dữ liệu từ văn bản chỉnh sửa và xác thực dữ liệu.

Bước 3 - Thêm mã sau vào src / MainActivity.java

package com.example.andy.myapplication;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MainActivity extends AppCompatActivity {
   int view = R.layout.activity_main;
   TextView text;
   EditText enterNumber;
   String pattern = "^\\s*(?:\\+?(\\d{1,3}))?[-. (]*(\\d{3})[-. )]*(\\d{3})[-. ]*(\\d{4})(?: *x(\\d+))?\\s*$";
   Matcher m;
   @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(view);
      text = findViewById(R.id.text);
      enterNumber = findViewById(R.id.enterNumber);
      text.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            Pattern r = Pattern.compile(pattern);
            if (!enterNumber.getText().toString().isEmpty()) {
               m = r.matcher(enterNumber.getText().toString().trim());
            } else {
               Toast.makeText(MainActivity.this, "Please enter mobile number ", Toast.LENGTH_LONG).show();
            }
           if (m.find()) {
              Toast.makeText(MainActivity.this, "MATCH", Toast.LENGTH_LONG).show();
           } else {
              Toast.makeText(MainActivity.this, "NO MATCH", Toast.LENGTH_LONG).show();
           }
        }
     });
}
}

Trong đoạn mã trên, chúng tôi đã sử dụng biểu thức regex để chỉnh sửa dữ liệu văn bản hợp lệ. sử dụng mã sau để chỉnh sửa dữ liệu văn bản hợp lệ.

String pattern = "^\\s*(?:\\+?(\\d{1,3}))?[-. (]*(\\d{3})[-. )]*(\\d{3})[-. ]*(\\d{4})(?: *x(\\d+))?\\s*$";
Matcher m;
.....
Pattern r = Pattern.compile(pattern);
if (!enterNumber.getText().toString().isEmpty()) {
   m = r.matcher(enterNumber.getText().toString().trim());
} else {
   Toast.makeText(MainActivity.this, "Please enter mobile number ", Toast.LENGTH_LONG).show();
}
if (m.find()) {
   Toast.makeText(MainActivity.this, "MATCH", Toast.LENGTH_LONG).show();
} else {
   Toast.makeText(MainActivity.this, "NO MATCH", Toast.LENGTH_LONG).show();
}
.........

Hãy thử chạy ứng dụng của bạn. Tôi giả sử bạn đã kết nối thiết bị Di động Android thực tế với máy tính của mình. Để chạy ứng dụng từ android studio, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Chạy từ thanh công cụ. Chọn thiết bị di động của bạn làm tùy chọn, sau đó kiểm tra thiết bị di động sẽ hiển thị màn hình mặc định của bạn -

Làm thế nào để xác minh nhập số là số điện thoại hay không bằng cách sử dụng regex trong Android?

Trong đoạn mã trên, chúng tôi đã đưa ra định dạng số điện thoại chính xác. nó cung cấp kết quả xác thực thích hợp là "Khớp". Bây giờ chúng tôi đang đưa ra định dạng không xác định trong văn bản chỉnh sửa. kết quả là "Không khớp" như hình dưới đây -

Làm thế nào để xác minh nhập số là số điện thoại hay không bằng cách sử dụng regex trong Android?