ইমেইল Validation এর জন্য Regex Pattern তৈরি করা

Regex এর মাধ্যমে Input Validation - জাভা রেজেক্স (Java Regex) - Java Technologies

377

Regex (Regular Expressions) ব্যবহার করে ইমেইল ভ্যালিডেশন একটি সাধারণ ও কার্যকরী উপায়। ইমেইল অ্যাড্রেসে কিছু নির্দিষ্ট নিয়ম রয়েছে, যেমন:

  1. এটি একটি ব্যবহারকারীর নাম দিয়ে শুরু হবে (যা অক্ষর, সংখ্যা বা কিছু বিশেষ চিহ্ন হতে পারে)।
  2. তারপর একটি @ চিহ্ন থাকবে।
  3. তারপর একটি ডোমেইন নাম হবে (যেমন example.com), যার মধ্যে একটি পিরিয়ড (.) থাকবে এবং এটি একটি বৈধ ডোমেইন এক্সটেনশন যেমন .com, .org ইত্যাদি হবে।

Regex Pattern for Email Validation:

একটি সাধারণ ইমেইল ভ্যালিডেশন রেগুলার এক্সপ্রেশন (regex) প্যাটার্ন তৈরি করা যেতে পারে যা এই নিয়মগুলো অনুসরণ করে:

^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$

ব্যাখ্যা:

  • ^: এটি স্ট্রিংয়ের শুরু নির্দেশ করে।
  • [a-zA-Z0-9_+&*-]+: এটি ব্যবহারকারী নামের প্রথম অংশ, যেখানে:
    • a-zA-Z0-9: অক্ষর এবং সংখ্যা
    • _+&*-: কিছু বিশেষ চিহ্ন (যেমন _, +, &, *, -)
    • +: এক বা একাধিক চরিত্র থাকতে পারে।
  • (?:\\.[a-zA-Z0-9_+&*-]+)*: এটি ঐচ্ছিকভাবে একটি পিরিয়ড (.) এবং তারপর কিছু চরিত্র (যেমন .com, .org) প্যাটার্ন।
  • @: এটি ইমেইল অ্যাড্রেসের মাঝে থাকা @ চিহ্ন।
  • (?:[a-zA-Z0-9-]+\\.)+: এটি ডোমেইন অংশ, যেখানে:
    • [a-zA-Z0-9-]+: অক্ষর, সংখ্যা, অথবা হাইফেন
    • \\.: পিরিয়ড
    • +: এক বা একাধিক বার থাকতে পারে।
  • [a-zA-Z]{2,7}: এটি ডোমেইনের এক্সটেনশন অংশ, যেমন .com, .org ইত্যাদি। এখানে ২ থেকে ৭ অক্ষর থাকতে পারে।
  • $: এটি স্ট্রিংয়ের শেষ নির্দেশ করে।

Java Code Example: Email Validation Using Regex:

import java.util.regex.*;

public class EmailValidation {
    public static void main(String[] args) {
        // Test email addresses
        String[] emails = {
            "user@example.com",      // valid
            "user.name@domain.co",   // valid
            "user@domain",           // invalid
            "user@.com",             // invalid
            "user@domain..com",      // invalid
            "@domain.com"            // invalid
        };
        
        // Define the regex pattern for a valid email address
        String emailRegex = "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$";
        
        // Compile the pattern
        Pattern pattern = Pattern.compile(emailRegex);
        
        // Validate each email address
        for (String email : emails) {
            Matcher matcher = pattern.matcher(email);
            if (matcher.matches()) {
                System.out.println(email + " is a valid email address.");
            } else {
                System.out.println(email + " is not a valid email address.");
            }
        }
    }
}

ব্যাখ্যা:

  1. String[] emails: এখানে কিছু ইমেইল ঠিকানা পরীক্ষার জন্য রাখা হয়েছে, যাতে সঠিক এবং ভুল ইমেইল অ্যাড্রেস দেখা যায়।
  2. Pattern.compile(emailRegex): এটি রেগুলার এক্সপ্রেশন প্যাটার্নকে কম্পাইল করে একটি Pattern অবজেক্ট তৈরি করে।
  3. matcher.matches(): এটি চেক করে যে ইমেইল ঠিকানা প্যাটার্নের সাথে মেলে কিনা। যদি মেলে, তাহলে এটি true রিটার্ন করে এবং ইমেইলটি বৈধ বলে ঘোষণা করা হয়।

আউটপুট:

user@example.com is a valid email address.
user.name@domain.co is a valid email address.
user@domain is not a valid email address.
user@.com is not a valid email address.
user@domain..com is not a valid email address.
@domain.com is not a valid email address.
  • Regex ব্যবহার করে ইমেইল ভ্যালিডেশন একটি খুবই শক্তিশালী উপায়, যেটি স্ট্রিংয়ের মধ্যে নির্দিষ্ট প্যাটার্ন চেক করতে সক্ষম।
  • Pattern.quote() অথবা অন্য রেগুলার এক্সপ্রেশন পদ্ধতি ব্যবহার করে আপনি ইমেইল অ্যাড্রেসের মতো ফর্ম্যাট চেক করতে পারেন।
  • এই রেগুলার এক্সপ্রেশন প্যাটার্নটি সাধারণ ইমেইল অ্যাড্রেস ফর্ম্যাট চেক করার জন্য কার্যকর, তবে আপনি আরও কাস্টম প্যাটার্ন তৈরি করতে পারেন বিভিন্ন প্রাসঙ্গিক চাহিদার জন্য।
Content added By
Promotion

Are you sure to start over?

Loading...