PDA

View Full Version : سوال: پست الکترونیکی در فایل رجیستر



sooren_66
چهارشنبه 17 اردیبهشت 1393, 10:50 صبح
سلام
یه کد پیشرفته برای فایل ثبت نام قسمت وارد کردن ایمیل می خواستم با قابلیت تشخیص درست وارد کردن ایمیل تشخیص قسمت قبلوبعد @ وقابلیت ارسال ایمیل تایید.من یه فرم ثبت نام ساختم ولی این قسمت رو نتونستم بنویسم.لطفا" کمک کنید.

firoozi70
چهارشنبه 17 اردیبهشت 1393, 13:21 عصر
جهت
تشخیص قسمت قبلوبعد @

if(preg_match("/^[.A-z0-9_-]+[@][A-z0-9_-]+([.][A-z0-9_-]+)+[A-z]{2,4}$/",$email)){
}

sooren_66
چهارشنبه 17 اردیبهشت 1393, 13:38 عصر
لطفا" کمک؟فوری؟

***BiDaK***
چهارشنبه 17 اردیبهشت 1393, 14:21 عصر
جهت

if(preg_match("/^[.A-z0-9_-]+[@][A-z0-9_-]+([.][A-z0-9_-]+)+[A-z]{2,4}$/",$email)){
}
این regex تشخیص نمیده.مثلا گفته با نقطه و خط تیره هم میتونه شروع بشه و یا بعد از @ آندرلاین یا خط تیره هم میتونه شروع بشه و .... مثلا عبارت زیرو صحیح میدونه:

._--..a.-@-_a-.-.-_-.bcc
منم یه regex نوشتم که دوستان اگه مشکلی دیدن بگن.آدرس های ایلگال رو نادیده گرفتم:

$regex = '^[a-zA-Z0-9]+([\._][a-zA-Z0-9]+)*@[a-zA-Z0-9]+([\.\-][a-zA-Z0-9]+)*(\.[a-zA-Z]{2,3})$';

cpuram
چهارشنبه 17 اردیبهشت 1393, 14:33 عصر
برای ایمیل تایید ۲ تا فیلد به دیتابیس اضافه کنید یکی‌ یه عدد رندم تو خودش ذخیره می‌کنه و یکی‌ دیگه یه مقدار بولین عدد رندم رو به ایمیل کاربر بفرستید به صورت یه لینک وقتی‌ کلیک کرد روش مقدار بولین رو تغییر بدید و اجازه بدید کاربر دسترسی‌ داشته باشه به سایت

cpuram
چهارشنبه 17 اردیبهشت 1393, 14:36 عصر
این regex تشخیص نمیده.مثلا گفته با نقطه و خط تیره هم میتونه شروع بشه و یا بعد از @ آندرلاین یا خط تیره هم میتونه شروع بشه و .... مثلا عبارت زیرو صحیح میدونه:

._--..a.-@-_a-.-.-_-.bcc
منم یه regex نوشتم که دوستان اگه مشکلی دیدن بگن.آدرس های ایلگال رو نادیده گرفتم:

$regex = '^[a-zA-Z0-9]+([\._][a-zA-Z0-9]+)*@[a-zA-Z0-9]+([\.\-][a-zA-Z0-9]+)*(\.[a-zA-Z]{2,3})$';

نیازی به این کارا نیست خود پی‌اچ‌پی تابع داره واسه این کار

<?php
$x = "my_email@yahoo.com";
if (!filter_var($x, FILTER_VALIDATE_EMAIL)) {
echo "$x is a valid EMAIL";
} else {
echo "$x is NOT a valid EMAIL";
}
?>

***BiDaK***
چهارشنبه 17 اردیبهشت 1393, 14:41 عصر
جاوااسکریپت چی!!؟

sooren_66
چهارشنبه 17 اردیبهشت 1393, 18:23 عصر
نیازی به این کارا نیست خود پی‌اچ‌پی تابع داره واسه این کار

<?php
$x = "my_email@yahoo.com";
if (!filter_var($x, FILTER_VALIDATE_EMAIL)) {
echo "$x is a valid EMAIL";
} else {
echo "$x is NOT a valid EMAIL";
}
?>



اگه بخوایم غیر از ایمیل های سایت یاهو ایمیلهای دیگه رو هم چک کنه باید تعداد متغیرهارو زیاد کرد.مثلا"جی میل باشه و...؟

***BiDaK***
چهارشنبه 17 اردیبهشت 1393, 19:05 عصر
اگه بخوایم غیر از ایمیل های سایت یاهو ایمیلهای دیگه رو هم چک کنه باید تعداد متغیرهارو زیاد کرد.مثلا"جی میل باشه و...؟
ربطی به یاهو و .... نداره.
ولی این دستور فقط سمت سرور کارایی داره و بهتره سمت کلاینت هم چک بشه.که اگر اشتباه بود دکمه الکی سند نشه.(جلوی بک کار اضافی رو بگیرید.)
هم سمت سرور چک بشه هم سمت کلاینت.بنابراین به regex نیازه.
در ضمن علامت not (!) رو از شرط بردارید.