Nima Etemadi Far
4 سال پیش توسط Nima Etemadi Far مطرح شد
3 پاسخ

تابع تشخیص مقدار متغییر که آیا ایمیله یا شماره تلفن در لاراول

سلام من یک input دارم ک کاربر یا ایمیل یا شماره تلفنش رو برای رجیستر توش مینویسه . و دوتا ولیدیتور دارم که یکی برای زمانیه که ایمیل نوشته باشه یکی هم برای زمانیه که شماره تلفن نوشته باشه.
حالا قبل از فرستادن مقدار به ولیدیتور ها باید بتونم اول بفهمم مقدار کاربر ایمیله یا شماره تلفنه. کسی میتونه کمکم کنه ؟

@hosseinshirinegad98
@milad
@hesammousavi
@ali.bayat
@wozniak
@mhyeganeh
@endworld


ثبت پرسش جدید
woz
تخصص : fan of open source world
@wozniak 4 سال پیش مطرح شد
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
1

ایمیل ها همه یه @ دارند.. شما همین رو مبنا قرار بده

اگر ورودی کاربر درش @ بود.. پس ایمیله و از اعتبارسنجی ایمیل باید استفاده کنی.
در غیر این صورت شماره تلفن هست

if (strpos($input,'@') !== false) {
//  email
}
else {
//  phone number
}

محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
2

در نمونه کد زیر اول بررسی می‌کنیم که آیا مقدار مورد نظر از نوع عددی هست یا نه. اگر بله پس مقدار وارد شده موبایل هست. و اگر نه چک میکنیم که آیا از الگوی یک ایمیل معتبر پیروی می‌کنه یا نه... اگر هیچ یک از دو مورد هم صدق نکرد میشه یا ارور داد یا مثلا 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!
}

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام