কোনও ইমেল ঠিকানাটি সুগঠিত কিনা তা যাচাই করার সহজ ও নিরাপদ উপায় হল filter_var()
ফাংশনটি ব্যবহার করা :
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
// invalid emailaddress
}
অতিরিক্তভাবে আপনি পরীক্ষা করতে পারেন যে ডোমেনটি একটি MX
রেকর্ড সংজ্ঞায়িত করেছে :
if (!checkdnsrr($domain, 'MX')) {
// domain is not valid
}
তবে এটি এখনও গ্যারান্টি দেয় না যে মেলটি বিদ্যমান। এটির সন্ধানের একমাত্র উপায় হ'ল একটি নিশ্চিতকরণ মেল পাঠানো।
এখন আপনি যদি আপনার সহজ উত্তরটি ইমেল ঠিকানার বৈধতা সম্পর্কে নির্দ্বিধায় পড়েন তবে আপনি যদি শিখতে আগ্রহী হন বা অন্যথায় কেবল দ্রুত উত্তরটি ব্যবহার করেন এবং এগিয়ে যান। কঠোরানুভুতি নেই.
একটি রেগেক্স ব্যবহার করে কোনও ইমেল ঠিকানা বৈধ করার চেষ্টা করা একটি "অসম্ভব" কাজ। আমি যতদূর যেতে চাই যে আপনি তৈরি করেছেন রেজিএক্স অকেজো। ইমেল ঠিকানা সম্পর্কে তিনটি আরএফসি রয়েছে এবং ভুল ইমেল ঠিকানাগুলিকে ধরার জন্য একটি রেজেেক্স লিখতে হয় এবং একই সাথে মিথ্যা ধনাত্মকতা থাকে না যা নশ্বর কিছু করতে পারে না। পিএইচপি এর ফাংশন দ্বারা ব্যবহৃত রেজেক্সের পরীক্ষার জন্য (ব্যর্থ এবং সফল উভয়) এই তালিকাটি দেখুন Checkfilter_var()
এমনকি বিল্ট-ইন পিএইচপি ফাংশন, ইমেল ক্লায়েন্ট বা সার্ভারগুলি এটি সঠিকভাবে পায় না। এখনও বেশিরভাগ ক্ষেত্রেই filter_var
সেরা বিকল্প।
আপনি যদি জানতে চান যে পিএইচপি (বর্তমানে) কোন রেজেক্স প্যাটার্নটি ইমেল ঠিকানাগুলি যাচাই করতে ব্যবহার করে পিএইচপি উত্সটি দেখুন ।
আপনি যদি ইমেল ঠিকানাগুলি সম্পর্কে আরও জানতে চান তবে আমি আপনাকে চশমা পড়া শুরু করার পরামর্শ দিই, তবে আপনাকে সতর্ক করতে হবে এটি কোনও প্রসারিত দ্বারা পড়া সহজ নয়:
নোট যেটি filter_var()
ইতিমধ্যে কেবলমাত্র পিএইচপি 5.2 হিসাবে উপলব্ধ রয়েছে stated আপনি যদি পিএইচপি এর পূর্ববর্তী সংস্করণগুলির সাথে এটি কাজ করতে চান তবে আপনি পিএইচপি-তে ব্যবহৃত রেজেক্স ব্যবহার করতে পারেন:
<?php
$pattern = '/^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/iD';
$emailaddress = 'test@gmail.com';
if (preg_match($pattern, $emailaddress) === 1) {
// emailaddress is valid
}
পিএস উপরে ব্যবহৃত পিগ্রেস প্যাটার্নের একটি নোট (পিএইচপি উত্স থেকে)। দেখে মনে হচ্ছে মাইকেল রুশনের কিছু কপিরাইট রয়েছে । যেমনটি বলা হয়েছে: "এই কোডটি ব্যবহার করতে এবং পুনরায় বিতরণ করতে নির্দ্বিধায় But তবে দয়া করে এই কপিরাইট বিজ্ঞপ্তিটি রাখুন" "
validateEmail
কেরেট হবে, পাশাপাশি পাশ করাও হবে$email
না$EMAIL
।