URL (Uniform Resource Locator) এবং Domain (ডোমেইন) Validation হল একটি গুরুত্বপূর্ণ প্রক্রিয়া, যেখানে আপনি নির্দিষ্ট প্যাটার্নের মাধ্যমে URL এবং Domain এর সঠিকতা যাচাই করেন। এটি ওয়েব ডেভেলপমেন্ট এবং অ্যাপ্লিকেশন ডিজাইনিং-এ বিশেষ করে ইউজার ইনপুট যাচাই করার সময় অত্যন্ত গুরুত্বপূর্ণ।
URL Validation
URL এর কাঠামো নির্দিষ্ট নিয়ম অনুসরণ করে এবং URL ভ্যালিডেশন RegExp (Regular Expression) ব্যবহার করে URL এর সঠিকতা পরীক্ষা করা যায়। একটি সাধারণ URL হতে পারে:
https://www.example.com/path?query=example#fragment
URL ভ্যালিডেশন সাধারণত স্কিমা (http/https), হোস্ট, পাথ, কোয়েরি প্যারামিটার এবং ফ্র্যাগমেন্ট এর ভিত্তিতে করা হয়।
সাধারণ URL Validation RegExp
let regex = /^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6}(\/[a-zA-Z0-9-_.]*)*(\?[a-zA-Z0-9=&]*)?(#[a-zA-Z0-9-]*)?$/;
ব্যাখ্যা:
^(https?:\/\/)?– URL যদি http বা https স্কিমা দিয়ে শুরু হয়, তবে সঠিক।([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6}– ডোমেইন অংশ, যেখানে কমপক্ষে একটি সাবডোমেইন (যেমন www) এবং ডোমেইন এক্সটেনশন (যেমন .com) থাকতে হবে।(\/[a-zA-Z0-9-_.]*)*– পাথ অংশ যা অক্ষর, সংখ্যা, ড্যাশ, আন্ডারস্কোর বা ডট নিয়ে গঠিত হতে পারে।(\?[a-zA-Z0-9=&]*)?– কোয়েরি প্যারামিটার অংশ যা প্রশ্ন চিহ্ন দিয়ে শুরু হয় এবং কীগুলি ও মানগুলির মধ্যবর্তী সমীকরণ চিহ্নে বিভক্ত থাকে।(# [a-zA-Z0-9-]*)?– ফ্র্যাগমেন্ট অংশ যা হ্যাশ চিহ্ন দিয়ে শুরু হয় এবং একাধিক অক্ষরের মধ্যে থাকতে পারে।
URL Validation উদাহরণ
let regex = /^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6}(\/[a-zA-Z0-9-_.]*)*(\?[a-zA-Z0-9=&]*)?(#[a-zA-Z0-9-]*)?$/;
let url = "https://www.example.com/path?query=example#fragment";
console.log(regex.test(url)); // true
এই RegExp প্যাটার্নটি একটি URL যাচাই করবে এবং দেখবে যে এটি সঠিক কাঠামোয় আছে কিনা।
Domain Validation
Domain validation সাধারণত ডোমেইন নামের সঠিকতা পরীক্ষা করার জন্য করা হয়। একটি বৈধ ডোমেইন নাম সাধারণত নিম্নলিখিত বৈশিষ্ট্যগুলো অনুসরণ করে:
- এটি অক্ষর, সংখ্যা, বা ড্যাশ (-) দিয়ে গঠিত হতে পারে।
- এটি কোনো বিশেষ চিহ্ন বা স্পেস ধারণ করতে পারে না।
- এটি অন্তত দুটি অংশে বিভক্ত থাকে (যেমন example.com)।
সাধারণ Domain Validation RegExp
let regex = /^[a-zA-Z0-9-]{1,63}(\.[a-zA-Z0-9-]{1,63})*$/;
ব্যাখ্যা:
^[a-zA-Z0-9-]{1,63}– ডোমেইন অংশে একাধিক অক্ষর, সংখ্যা বা ড্যাশ থাকতে পারে এবং এটি 1 থেকে 63 অক্ষরের মধ্যে হতে হবে।(\.[a-zA-Z0-9-]{1,63})*– একাধিক সাবডোমেইন বা ডোমেইন এক্সটেনশন (যেমন .com, .org) থাকতে পারে এবং প্রতিটির দৈর্ঘ্য 1 থেকে 63 অক্ষরের মধ্যে থাকবে।
Domain Validation উদাহরণ
let regex = /^[a-zA-Z0-9-]{1,63}(\.[a-zA-Z0-9-]{1,63})*$/;
let domain = "example.com";
console.log(regex.test(domain)); // true
এখানে, "example.com" একটি বৈধ ডোমেইন নাম। এটি RegExp প্যাটার্নের সাথে মিলছে, তাই আউটপুট হবে true।
URL এবং Domain Validation এর মধ্যে পার্থক্য
- URL Validation: একটি URL-এ স্কিমা, হোস্ট (ডোমেইন), পাথ, কোয়েরি প্যারামিটার এবং ফ্র্যাগমেন্ট থাকতে পারে। URL Validation নিশ্চিত করে যে এটি একটি সঠিক URL কাঠামো অনুসরণ করছে।
- Domain Validation: একটি ডোমেইন নামের মধ্যে শুধু হোস্ট নাম এবং এক্সটেনশন থাকে (যেমন example.com)। এটি সাধারণত ওয়েব ডোমেইন নামের বৈধতা যাচাই করতে ব্যবহৃত হয়, এবং এতে স্কিমা বা পাথ থাকেনা।
সারাংশ
URL Validation একটি পূর্ণ URL এর কাঠামো যাচাই করার প্রক্রিয়া, যা স্কিমা, ডোমেইন, পাথ, কোয়েরি এবং ফ্র্যাগমেন্ট অন্তর্ভুক্ত করে। অন্যদিকে, Domain Validation শুধুমাত্র ডোমেইন নামের সঠিকতা যাচাই করে, যেখানে ডোমেইন নামের অংশগুলি সঠিকভাবে গঠিত থাকা প্রয়োজন। RegExp ব্যবহার করে আপনি সহজেই URL এবং Domain এর সঠিকতা যাচাই করতে পারেন।
Read more