TextUtils.isDigitsOnly() ব্যবহার করে শুধু সংখ্যা যাচাই করা
Android-এ android.text.TextUtils.isDigitsOnly(CharSequence) একটি বিল্ট-ইন ইউটিলিটি মেথড যা কোনো স্ট্রিং শুধু সংখ্যা (0-9) দিয়ে গঠিত কিনা তা বুলিয়ান রিটার্ন করে।
লেআউট (activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp" />
<Button
android:id="@+id/btn_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="চেক করুন"
android:layout_marginTop="24dp" />
</LinearLayout>
MainActivity.java
package com.example.myapplication;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.text);
// টেস্ট ডেটা সেট
textView.setText("123456789");
findViewById(R.id.btn_check).setOnClickListener(v -> {
String input = textView.getText().toString();
boolean isDigitsOnly = TextUtils.isDigitsOnly(input);
Toast.makeText(this, "শুধু ডিজিট? " + isDigitsOnly, Toast.LENGTH_LONG).show();
});
}
}
TextUtils.isDigitsOnly() এর বৈশিষ্ট্য
- শুধু ASCII ডিজিট (0-9) চেক করে
- খালি স্ট্রিং ("") এর জন্য
falseরিটার্ন করে - স্পেস, ড্যাশ, ডেসিম্যাল পয়েন্ট, লেটার থাকলে
false - null ইনপুটের জন্য
falseরিটার্ন করে
অন্যান্য উপকারী TextUtils মেথডসমূহ
| মেথড | কাজ |
|---|---|
| isEmpty(CharSequence) | null বা length==0 চেক |
| isGraphic(CharSequence) | প্রিন্টেবল ক্যারেক্টার আছে কিনা |
| split(CharSequence, String) | Regex দিয়ে স্প্লিট |
| join(CharSequence, Iterable) | জয়েন করে স্ট্রিং বানান |
| htmlEncode(String) | HTML এনকোড |
Regex অল্টারনেটিভ (আধুনিক উপায়)
// শুধু ডিজিট চেক (Regex)
boolean isDigits = input.matches("^\\d+$"); // এক বা অধিক ডিজিট
// অথবা কোotlin-এ
val isDigits = input.all { it.isDigit() }
ব্যবহার কেস
- ফোন নম্বর, পিন কোড, OTP ভ্যালিডেশন
- সাংখ্যিক আইডি (NID, Roll Number) ভ্যালিডেশন
- ফর্ম ইনপুট স্যানিটাইজেশন
