প্রতিটি ওয়েব অ্যাপ্লিকেশন বা ফর্মে ইউজারের ইনপুটের সঠিকতা নিশ্চিত করতে Phone Number এবং Postal Code (ফোন নম্বর এবং পোস্টাল কোড) ভ্যালিডেশন অত্যন্ত গুরুত্বপূর্ণ। RegExp (Regular Expressions) ব্যবহার করে এই ধরনের ইনপুট সঠিকভাবে যাচাই করা যায়। এখানে আমরা দেখব কীভাবে ফোন নম্বর এবং পোস্টাল কোড ভ্যালিডেশন করা যায়।
Phone Number Validation
ফোন নম্বরের জন্য একটি উপযুক্ত RegExp প্যাটার্ন তৈরি করার মাধ্যমে আমরা নিশ্চিত করতে পারি যে, ইউজার সঠিক ফর্ম্যাটে ফোন নম্বর প্রদান করছে। সাধারণত, ফোন নম্বরের ক্ষেত্রে বিভিন্ন দেশের জন্য আলাদা ফর্ম্যাট থাকতে পারে, তবে এখানে সাধারণ কিছু উদাহরণ দেখানো হয়েছে।
উদাহরণ 1: আন্তর্জাতিক ফোন নম্বর
একটি আন্তর্জাতিক ফোন নম্বরের জন্য সাধারণভাবে + চিহ্ন, দেশ কোড এবং ফোন নম্বর থাকে। যেমন: +1-800-555-5555।
RegExp প্যাটার্ন:
let regex = /^\+?[1-9]\d{1,14}$/;
এখানে:
^: প্যাটার্নের শুরু।\+?: একটি ঐচ্ছিক+চিহ্ন।[1-9]: প্রথম ডিজিটটি ১ থেকে ৯ এর মধ্যে হতে হবে (যে কোনও দেশ কোডে ০ শুরু হয় না)।\d{1,14}: ১ থেকে ১৪টি ডিজিট।$: প্যাটার্নের শেষ।
উদাহরণ:
let regex = /^\+?[1-9]\d{1,14}$/;
let phoneNumber = "+1-800-555-5555";
console.log(regex.test(phoneNumber)); // true
উদাহরণ 2: মার্কিন ফোন নম্বর (10 ডিজিট)
মার্কিন ফোন নম্বর সাধারণত ৩টি অংশে বিভক্ত থাকে, যেমন: (XXX) XXX-XXXX বা XXX-XXX-XXXX।
RegExp প্যাটার্ন:
let regex = /^(?:\(\d{3}\) |\d{3}-)\d{3}-\d{4}$/;
এখানে:
(?: ... ): Non-capturing group, যা গ্রুপিং করবে কিন্তু রেফারেন্স করবে না।\d{3}: ৩টি ডিজিট।\(\d{3}\): ৩টি ডিজিটের মধ্যে প্যারেন্টেসিসে রাখা।|: অথবা চিহ্ন, যা দুটি বিকল্পের মধ্যে মিল করবে।
উদাহরণ:
let regex = /^(?:\(\d{3}\) |\d{3}-)\d{3}-\d{4}$/;
let phoneNumber = "(800) 555-5555";
console.log(regex.test(phoneNumber)); // true
Postal Code Validation
পোস্টাল কোডের ক্ষেত্রে বিভিন্ন দেশের জন্য ভিন্ন ভিন্ন নিয়ম থাকে। তবে সাধারণত, এটি কয়েকটি ডিজিট বা অক্ষর দিয়ে গঠিত থাকে। RegExp ব্যবহার করে নির্দিষ্ট একটি দেশের পোস্টাল কোড ভ্যালিডেট করা সম্ভব।
উদাহরণ 1: যুক্তরাষ্ট্রের পোস্টাল কোড
যুক্তরাষ্ট্রের পোস্টাল কোড ৫ ডিজিটের অথবা ৯ ডিজিটের হতে পারে, যেমন: 12345 বা 12345-6789।
RegExp প্যাটার্ন:
let regex = /^\d{5}(-\d{4})?$/;
এখানে:
\d{5}: ৫টি ডিজিট।(-\d{4})?: ঐচ্ছিক অংশ, যা ৪টি ডিজিটের সাথে-চিহ্ন থাকতে পারে।
উদাহরণ:
let regex = /^\d{5}(-\d{4})?$/;
let postalCode = "12345-6789";
console.log(regex.test(postalCode)); // true
উদাহরণ 2: কানাডার পোস্টাল কোড
কানাডার পোস্টাল কোড সাধারণত A1A 1A1 এর মতো একটি ফরম্যাটে থাকে, যেখানে A হলো অক্ষর এবং 1 হলো ডিজিট।
RegExp প্যাটার্ন:
let regex = /^[A-Za-z]\d[A-Za-z] \d[A-Za-z]\d$/;
এখানে:
[A-Za-z]: একটি অক্ষর।\d: একটি ডিজিট।- স্পেস: দুটি গ্রুপের মধ্যে স্পেস থাকতে হবে।
উদাহরণ:
let regex = /^[A-Za-z]\d[A-Za-z] \d[A-Za-z]\d$/;
let postalCode = "K1A 0B1";
console.log(regex.test(postalCode)); // true
সারাংশ
Phone Number Validation এবং Postal Code Validation RegExp ব্যবহার করে সঠিক ইনপুট যাচাই করা যায়। ফোন নম্বর এবং পোস্টাল কোডের জন্য বিভিন্ন দেশের নির্দিষ্ট নিয়ম অনুযায়ী প্যাটার্ন তৈরি করা সম্ভব:
- ফোন নম্বরের জন্য ইন্টারন্যাশনাল বা দেশীয় ফরম্যাট ব্যবহার করা হয়।
- পোস্টাল কোডের জন্য দেশভিত্তিক ফরম্যাট চেক করা হয়, যেমন যুক্তরাষ্ট্রের ৫ অথবা ৯ ডিজিটের পোস্টাল কোড অথবা কানাডার অক্ষর ও ডিজিট সমন্বিত ফরম্যাট।
এভাবে RegExp ব্যবহার করে আপনি ইনপুটের সঠিকতা নিশ্চিত করতে পারবেন এবং ফর্ম ভ্যালিডেশন সহজ এবং দ্রুত করতে পারবেন।
Read more