Android में Regex का उपयोग करके फोन नंबर वैलिडेशन
यह उदाहरण दर्शाता है कि Android में Regex का उपयोग करके दर्ज नंबर फोन नंबर है या नहीं, इसकी पुष्टि कैसे करें।
चरण 1 - नया प्रोजेक्ट बनाएं
Android Studio में एक नया प्रोजेक्ट बनाएं: File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - activity_main.xml लेआउट
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>
उपरोक्त कोड में, हमने EditText और TextView लिया है। जब उपयोगकर्ता टेक्स्ट व्यू पर क्लिक करता है, तो यह एडिट टेक्स्ट से डेटा लेगा और डेटा को वैलिडेट करेगा।
चरण 3 - MainActivity.java
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, "कृपया मोबाइल नंबर दर्ज करें", Toast.LENGTH_LONG).show();
}
if (m != null && m.find()) {
Toast.makeText(MainActivity.this, "मैच", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(MainActivity.this, "नो मैच", Toast.LENGTH_LONG).show();
}
}
});
}
}
उपरोक्त कोड में, हमने एडिट टेक्स्ट डेटा को वैलिडेट करने के लिए Regex एक्सप्रेशन लिया है। एडिट टेक्स्ट डेटा को वैलिडेट करने के लिए निम्न कोड का उपयोग करें:
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, "कृपया मोबाइल नंबर दर्ज करें", Toast.LENGTH_LONG).show();
}
if (m != null && m.find()) {
Toast.makeText(MainActivity.this, "मैच", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(MainActivity.this, "नो मैच", Toast.LENGTH_LONG).show();
}
.........
आइए अपने एप्लिकेशन को चलाने का प्रयास करें। मान लें कि आपने अपने वास्तविक Android मोबाइल डिवाइस को कंप्यूटर से जोड़ा है। Android Studio से ऐप चलाने के लिए, अपनी प्रोजेक्ट की एक्टिविटी फ़ाइलों में से एक खोलें और टूलबार से Run आइकन पर क्लिक करें। विकल्प के रूप में अपना मोबाइल डिवाइस चुनें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा।

उपरोक्त कोड में, हमने सही फोन नंबर फॉर्मेट दिया है। यह उचित वैलिडेशन परिणाम "Match" देता है। अब हम एडिट टेक्स्ट में अज्ञात फॉर्मेट दे रहे हैं। यह नीचे दिखाए अनुसार "Not match" परिणाम देगा:
