سلام من یک input دارم ک کاربر یا ایمیل یا شماره تلفنش رو برای رجیستر توش مینویسه . و دوتا ولیدیتور دارم که یکی برای زمانیه که ایمیل نوشته باشه یکی هم برای زمانیه که شماره تلفن نوشته باشه.
حالا قبل از فرستادن مقدار به ولیدیتور ها باید بتونم اول بفهمم مقدار کاربر ایمیله یا شماره تلفنه. کسی میتونه کمکم کنه ؟
@hosseinshirinegad98
@milad
@hesammousavi
@ali.bayat
@wozniak
@mhyeganeh
@endworld
ایمیل ها همه یه @ دارند.. شما همین رو مبنا قرار بده
اگر ورودی کاربر درش @ بود.. پس ایمیله و از اعتبارسنجی ایمیل باید استفاده کنی.
در غیر این صورت شماره تلفن هست
if (strpos($input,'@') !== false) {
// email
}
else {
// phone number
}
در نمونه کد زیر اول بررسی میکنیم که آیا مقدار مورد نظر از نوع عددی هست یا نه. اگر بله پس مقدار وارد شده موبایل هست. و اگر نه چک میکنیم که آیا از الگوی یک ایمیل معتبر پیروی میکنه یا نه... اگر هیچ یک از دو مورد هم صدق نکرد میشه یا ارور داد یا مثلا username در نظر گرفت.
if (is_numeric($request->input('login')) {
//i e: It's mobile number!
} elseif (filter_var($request->input('login'), FILTER_VALIDATE_EMAIL)) {
// i e: It's an email address!
}else{
//None of email or mobile! probably username!
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟