سلام
برای ثبت در دفترچه تلفن اگه بخواهیم ایمیل را هنگام ثبت حتما با@ بزنیم در غیر این صورت خطا دهد چه کنیم؟
و اگر بخواهیم مثلا برای تلفن یا همراه فقط عدد وارد شود یا برای نام یا فامیلی فقط متن باید چه کنیم؟
(۰۱-مرداد-۱۳۹۱, ۰۹:۴۷:۵۴)stringf نوشته است: [ -> ]سلام
برای ثبت در دفترچه تلفن اگه بخواهیم ایمیل را هنگام ثبت حتما با@ بزنیم در غیر این صورت خطا دهد چه کنیم؟
و اگر بخواهیم مثلا برای تلفن یا همراه فقط عدد وارد شود یا برای نام یا فامیلی فقط متن باید چه کنیم؟
سلام
برای چک شماره و چک کردن ایمیل برنامه اش رو نوشتم برات
کدها رو کپی پیست کن جواب میده.
ولی برای نام و فامیل، محدودیت نزاری بهتره ها، شاید من بخوام اسم یه نفر رو بنویسم آ3مان، یا ممد+ (ممد پلاس)
البته اینی که گفتم بهانه بود چون حال ندارم یعنی وقت ندارم قسمت سوم رو هم برات بنویسم ولی روشش دقیقا مثل چک کردن شماره هاست (با استفاده از کد های اسکی)
توجه کن که توی برنامه چک کردن ایمیل، بالای برنامه از 2 تا using استفاده کردم
لینک اصلی چک کردن ایمیل هم اینه:
http://msdn.microsoft.com/en-us/library/01escwtf.aspx
موفق باشی
(۰۴-مرداد-۱۳۹۱, ۱۳:۴۳:۰۷)bitaroos نوشته است: [ -> ] (۰۱-مرداد-۱۳۹۱, ۰۹:۴۷:۵۴)stringf نوشته است: [ -> ]سلام
برای ثبت در دفترچه تلفن اگه بخواهیم ایمیل را هنگام ثبت حتما با@ بزنیم در غیر این صورت خطا دهد چه کنیم؟
و اگر بخواهیم مثلا برای تلفن یا همراه فقط عدد وارد شود یا برای نام یا فامیلی فقط متن باید چه کنیم؟
سلام
برای چک شماره و چک کردن ایمیل برنامه اش رو نوشتم برات
کدها رو کپی پیست کن جواب میده.
ولی برای نام و فامیل، محدودیت نزاری بهتره ها، شاید من بخوام اسم یه نفر رو بنویسم آ3مان، یا ممد+ (ممد پلاس)
البته اینی که گفتم بهانه بود چون حال ندارم یعنی وقت ندارم قسمت سوم رو هم برات بنویسم ولی روشش دقیقا مثل چک کردن شماره هاست (با استفاده از کد های اسکی)
توجه کن که توی برنامه چک کردن ایمیل، بالای برنامه از 2 تا using استفاده کردم
لینک اصلی چک کردن ایمیل هم اینه: http://msdn.microsoft.com/en-us/library/01escwtf.aspx
موفق باشی
سلام
ممنون از پاسخ گویی شما .ولی اگه ممکنه کد چک کردن ایمیل را توضیح بدید!!!
نمی دونم چرا وقتی در ثبت دفترچه تلفن یه ایمیل را این گونه مثلا z@yahoo.comمی نویسم در ثبت بعدی برای فرد دیگه اگه بنویسم za@yahoo.comثبت نمی کنه؟؟؟
کد:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Globalization;
using System.Text.RegularExpressions;
namespace tell
{
public partial class frm_sabt : Form
{
public frm_sabt()
{
InitializeComponent();
}
dbConnect dbc = new dbConnect();
bool invalid = false;
public bool IsValidEmail(string strIn)
{
invalid = false;
if (String.IsNullOrEmpty(strIn))
return false;
// Use IdnMapping class to convert Unicode domain names.
strIn = Regex.Replace(strIn, @"(@)(.+)$", this.DomainMapper);
if (invalid)
return false;
// Return true if strIn is in valid e-mail format.
return Regex.IsMatch(strIn,
@"^(?("")(""[^""]+?""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" +
@"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9]{2,17}))$",
RegexOptions.IgnoreCase);
}
private string DomainMapper(Match match)
{
// IdnMapping class with default property values.
IdnMapping idn = new IdnMapping();
string domainName = match.Groups[2].Value;
try
{
domainName = idn.GetAscii(domainName);
}
catch (ArgumentException)
{
invalid = true;
}
return match.Groups[1].Value + domainName;
}
private void btn_sabt_Click(object sender, EventArgs e)
{
if (txt_name.Text != "" && txt_family.Text != "" && txt_tell.Text != "" && txt_mobile.Text != "" && txt_email.Text != "" && txt_adress.Text != "")
{
if (IsValidEmail(txt_email.Text))
{
string sabtenam = string.Format("insert into tbl_usertell values(N'{0}',N'{1}',N'{2}',N'{3}',N'{4}',N'{5}') ", txt_name.Text, txt_family.Text, txt_tell.Text, txt_mobile.Text, txt_email.Text, txt_adress.Text);
dbc.executecmd(sabtenam);
dataGridView1.DataSource = dbc.selectcmd("select * from tbl_usertell");
txt_name.Text = " ";
txt_family.Text = " ";
txt_tell.Text = " ";
txt_mobile.Text = " ";
txt_email.Text = " ";
txt_adress.Text = " ";
MessageBox.Show("اطلاعات ثبت شد");
}
else
{
txt_email.Focus();
MessageBox.Show("لطفا آدرس ایمیل را مجددا وارد کنید");
//return;
}
}
else
{
MessageBox.Show("لطفا فیلدهای خالی را پر کنید");
}
}
private void frm_sabt_Load(object sender, EventArgs e)
{
dataGridView1.DataSource = dbc.selectcmd("select * from tbl_usertell");
}
private void btn_cancel_Click(object sender, EventArgs e)
{
if (MessageBox.Show("آیا برای خروج مطمئن هستید؟","",MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button2,MessageBoxOptions.RtlReading)==DialogResult.Yes)
{
this.Close();
}
}
private void txt_tell_TextChanged(object sender, EventArgs e)
{
string mText = "";
string iText = txt_tell.Text;
foreach (char ch in iText)
{
if ((ch < 58 & ch > 47))
{
mText += ch;
}
}
txt_tell.Text = mText;
txt_tell.SelectionStart = txt_tell.Text.Length;
}
private void txt_mobile_TextChanged(object sender, EventArgs e)
{
string mText = "";
string iText = txt_mobile.Text;
foreach (char ch in iText)
{
if ((ch < 58 & ch > 47))
{
mText += ch;
}
}
txt_mobile.Text = mText;
txt_mobile.SelectionStart = txt_mobile.Text.Length;
}
}
}
سلام
خواهش میکنم.
دوست عزیز، اون کدی هایی که براتون فرستادم هیچ مشکلی ندارن، چون اگر هر دو ایمیل رو با اون برنامه ای که براتون فرستادم چک کنید، برای هر دو ایمیل Correct رو تو messageBox نشون میده.
به احتمال 100% اشکال در جای دیگه ای از کد برنامه تون اتفاق می افته.
اینجوری چک کردن برنامه سخته، کاشکی فایل اصلیش رو می فرستادید تا بتونم خطا یابیش کنم ولی با توجه به اینکه برنامه تون اولین ایمیل رو قبول میکنه و دومی رو قبول نمی کنه، احتمال میدم خطا از کدهای زیر باشه
کد:
txt_name.Text = " ";
txt_family.Text = " ";
txt_tell.Text = " ";
txt_mobile.Text = " ";
txt_email.Text = " ";
txt_adress.Text = " ";
در حقیقت شما باید Space موجود در بین دابل کوتیشن ها رو پاک کنید. چونکه شما بعد از ثبت اولین نفر، بجای پاک کردن اطلاعات قبلی، اونها رو با Space جایگزین کردید، و وقتی ایمیل جدید وارد میکنید، در ابتدای ایمیلتون یک Space وجود داره که باعث Invalid شدن ایمیل میشه.
اگر مشکلتون با این تغییر حل شد، خدا رو شکر
اگر نه، باید برنامه تون رو کامل برام بفرستید تا چکش کنم.
آرزوی موفقیت
التماس دعا
(۱۲-مرداد-۱۳۹۱, ۱۶:۰۵:۰۸)bitaroos نوشته است: [ -> ]سلام
خواهش میکنم.
دوست عزیز، اون کدی هایی که براتون فرستادم هیچ مشکلی ندارن، چون اگر هر دو ایمیل رو با اون برنامه ای که براتون فرستادم چک کنید، برای هر دو ایمیل Correct رو تو messageBox نشون میده.
به احتمال 100% اشکال در جای دیگه ای از کد برنامه تون اتفاق می افته.
اینجوری چک کردن برنامه سخته، کاشکی فایل اصلیش رو می فرستادید تا بتونم خطا یابیش کنم ولی با توجه به اینکه برنامه تون اولین ایمیل رو قبول میکنه و دومی رو قبول نمی کنه، احتمال میدم خطا از کدهای زیر باشه
کد:
txt_name.Text = " ";
txt_family.Text = " ";
txt_tell.Text = " ";
txt_mobile.Text = " ";
txt_email.Text = " ";
txt_adress.Text = " ";
در حقیقت شما باید Space موجود در بین دابل کوتیشن ها رو پاک کنید. چونکه شما بعد از ثبت اولین نفر، بجای پاک کردن اطلاعات قبلی، اونها رو با Space جایگزین کردید، و وقتی ایمیل جدید وارد میکنید، در ابتدای ایمیلتون یک Space وجود داره که باعث Invalid شدن ایمیل میشه.
اگر مشکلتون با این تغییر حل شد، خدا رو شکر
اگر نه، باید برنامه تون رو کامل برام بفرستید تا چکش کنم.
آرزوی موفقیت
التماس دعا
سلام
ممنون وسپاسگزارم از پاسخگویی شما.بله مشکل ازspace ها بود.
حاجت روا .یا علی .
موفق باشید.التماس دعا
(۱۲-مرداد-۱۳۹۱, ۲۲:۲۷:۱۸)stringf نوشته است: [ -> ] (۱۲-مرداد-۱۳۹۱, ۱۶:۰۵:۰۸)bitaroos نوشته است: [ -> ]سلام
خواهش میکنم.
دوست عزیز، اون کدی هایی که براتون فرستادم هیچ مشکلی ندارن، چون اگر هر دو ایمیل رو با اون برنامه ای که براتون فرستادم چک کنید، برای هر دو ایمیل Correct رو تو messageBox نشون میده.
به احتمال 100% اشکال در جای دیگه ای از کد برنامه تون اتفاق می افته.
اینجوری چک کردن برنامه سخته، کاشکی فایل اصلیش رو می فرستادید تا بتونم خطا یابیش کنم ولی با توجه به اینکه برنامه تون اولین ایمیل رو قبول میکنه و دومی رو قبول نمی کنه، احتمال میدم خطا از کدهای زیر باشه
کد:
txt_name.Text = " ";
txt_family.Text = " ";
txt_tell.Text = " ";
txt_mobile.Text = " ";
txt_email.Text = " ";
txt_adress.Text = " ";
در حقیقت شما باید Space موجود در بین دابل کوتیشن ها رو پاک کنید. چونکه شما بعد از ثبت اولین نفر، بجای پاک کردن اطلاعات قبلی، اونها رو با Space جایگزین کردید، و وقتی ایمیل جدید وارد میکنید، در ابتدای ایمیلتون یک Space وجود داره که باعث Invalid شدن ایمیل میشه.
اگر مشکلتون با این تغییر حل شد، خدا رو شکر
اگر نه، باید برنامه تون رو کامل برام بفرستید تا چکش کنم.
آرزوی موفقیت
التماس دعا
سلام
ممنون وسپاسگزارم از پاسخگویی شما.بله مشکل ازspace ها بود.
حاجت روا .یا علی .
موفق باشید.التماس دعا
سلام
اگه ممکنه کد چک کردن ایمیل را برام توضیح بدید .ممنون.
سلام
چه خبره :)
دوست عزیز برای بررسی صحت ایمیل به دو صورت جزئی و کلی میتونی انجام بدی :
راه حل جزئی :
کد:
if (Textbox1.text.contine("@"))
{
//آدرس درست است
}
else
{
//آدرس اشتباه است
}
که فقط بررسی میکنه که آیا کاراکتر @ توی رشته ایمیل وجود داره یا نه
این نوع بررسی برای آدرس "@" هم میگه معتبره در صورتی که این اصلا آدرس میل نیست چون آدرس ایمیل از 4 قسمت تشکیل شده
1) نام کاربر : test
2)@ : @
3)نام دامنه : Domain
4)نوع دامنه : .org
پس اگه بخواییم بطور کلی آدرس ایمیل رو بررسی کنیم میتونیم از این روش استفاده کنیم :
کد:
if (IsValidEmail(textBox1.Text))
{
//آدرس درست است
}
else
{
//آدرس اشتباه است
}
public bool IsValidEmail(string strIn)
{
return Regex.IsMatch(strIn,
@"^(?("")(""[^""]+?""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" +
@"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9]{2,17}))$",
RegexOptions.IgnoreCase);
}
فقط باید از این یوزینگ استفاده کنین :
کد:
using System.Text.RegularExpressions;
البته همین کد بررسی ایمیل رو از تو کدهای دوستمون
bitaroos براتون نوشتم .