نمایش نتایج 1 تا 9 از 9

نام تاپیک: تشریح کد بررسی ساختار ایمیل

  1. #1
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008

    تشریح کد بررسی ساختار ایمیل


    string patternStrict = @"^(([^<>()[\]\\.,;:\s@\""]+"
    + @"(\.[^<>()[\]\\.,;:\s@\""]+)*)|(\"".+\""))@"
    + @"((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
    + @"\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+"
    + @"[a-zA-Z]{2,}))$";
    Regex reStrict = newRegex(patternStrict);


    قطعه کد فوق همونطور که می بینید صحت ساختار ایمیل رو چک می کنه

    میشه یه بخشی از اون رو توضیح بدید
    مثلا این بخش

    + @"((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"

  2. #2
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008
    اساتید بزرگوار می تونن کمکی کنن ؟

  3. #3
    باید با عبارات باقاعده آشنا باشی.
    همش که طولانیه اما اون قسمتی که گذاشتی رو واست توضیح میدم.
    در RegEx هر چیزی که در [] قرار بگیره به عنوان "یا" بهش نگاه میشه. در [] میشه بازه ای از حروف یا اعداد رو هم مشخص کرد.
    مثلا [9-0] یعنی هر کدام از اعداد بین 0 تا 9 می تونه به عنوان کاراکتر بعدی قرار بگیره و یا [A-Za-z] یعنی هر کدوم از حروف بزرگ بین A تا Z یا حروف کوچک بین a تا z می تونه به عنوان کاراکتر بعدی در نظر گرفته بشه.
    {} برای تعیین تعداد تکرار استفاده میشه. یعنی هر چیزی که قصد داشته باشی به تعداد معینی تکرار بشه.
    یکی از سینتکس هاش به شکل {n,m} هست. n یعنی حداقل و m یعنی حداکثر. پس:

    [0-9]{1,3}

    یعنی حداقل یک و حداکثر سه عدد می تونه پشت سر هم قرار بگیره.

    خطی که در موردش توضیح خواستی باعث میشه که در آدرس ایمیل بشه آدرس IP میل سرور رو وارد کرد. مثلا:

    behrouz@213.125.78.44

    که البته 3 قسمت اول IP در اون خط و قسمت آخرش در انتهای رشته وارد شده.

    \ در RegEx برای اصطلاحا Escape کردن رشته استفاده میشه چون نقطه جزء نمادهای رزرو شده در RegEx و بیانگر یک کاراکتر دلخواه هست.


    موفق باشید.

  4. #4
    Regular Expressions عالمي داره
    در MSDN جستجو كن
    چند تايي كتاب هم واسش نوشته شده
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  5. #5
    البته به نظر من عالم خاصی نداره و خیلی ساده ست. خیلی بخوایم در موردش صحبت کنیم شاید در نهایت یک کتاب 100 صفحه ای هم نشه!

    موفق باشید.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008
    آقا لطف کردی

    @"^(([^<>()[\]\\.,;:\s@\""]+"


    در مورد اینها هم میتونید کمکی کنید ؟
    مثلا اون @ اولیه چیه یا چرا تعداد \ و () اینقدر زیاده

  7. #7
    نقل قول نوشته شده توسط Behrouz_Rad مشاهده تاپیک
    البته به نظر من عالم خاصی نداره و خیلی ساده ست. خیلی بخوایم در موردش صحبت کنیم شاید در نهایت یک کتاب 100 صفحه ای هم نشه!
    یه ذره عالم رو داره
    فرض کنین این کد ها بخواد با if و ... نوشته بشه
    بستگی به فونت کتاب هم داره
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  8. #8
    نقل قول نوشته شده توسط Sal_64 مشاهده تاپیک
    آقا لطف کردی

    @"^(([^<>()[\]\\.,;:\s@\""]+"


    در مورد اینها هم میتونید کمکی کنید ؟
    مثلا اون @ اولیه چیه یا چرا تعداد \ و () اینقدر زیاده
    قربون شکلت، یک دفعه بگو بیا کل RegEx رو واسم توضیح بده دیگه! ;)

    @ در #C برای Escape کردن رشته استفاده میشه. چون \ یک کاراکتر کنترلی هست و معنای خاصی داره، با گذاشتن @ در ابتدای رشته، اون رشته رو Escape می کنن.
    اگر کاراکترهایی در [] قرار بگیرن یعنی "هر کدوم" از اون کاراکترها می تونن به عنوان کاراکتر بعدی ظاهر بشن. اگر در ابتدای اونها کاراکتر ^ قرار بگیره یعنی "هیچ کدوم" از اون کاراکترها نمی تونن به عنوان کاراکتر بعدی قرار بگیرن.
    + در RegEx به معنای "یک بار" یا "بیشتر" هست.
    در نهایت عبارتی که گذاشتی مشخص می کنه که هیچ کدوم از کاراکترهایی که در [] قرار گرفتن به میزان یک بار یا بیشتر نمی تونن به عنوان کاراکتر بعدی قرار بگیرن.
    پرانتز در RegEx علاوه بر اینکه برای دسته بندی یک گروه از رشته ها برای انجام عملی خاص بر روی اونها استفاده میشه، برای خوانایی بیشتر هم به کار میره

    موفق باشید.

    پ.ن: اونهایی که در دوره ی کارشناسی نرم افزار، درس نظریه ی زبان ها و ماشین ها رو پاس کردن، خیلی راحت می تونن مفهوم نمادهای RegEx رو درک کنن.

  9. #9
    نقل قول نوشته شده توسط Behrouz_Rad مشاهده تاپیک
    پ.ن: اونهایی که در دوره ی کارشناسی نرم افزار، درس نظریه ی زبان ها و ماشین ها رو پاس کردن، خیلی راحت می تونن مفهوم نمادهای RegEx رو درک کنن.
    راست مي گيا
    استاد سر اين كلاس مي گفت ميشه با If پياده سازيشون كرد.
    من پيش خودم فكر مي كردم بايد يك راه بهتري هم باشه تا اينكه RegEx رو پيدا كردم
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •