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

نام تاپیک: کنترل رشته ورودی با فرمت خاص

  1. #1
    کاربر دائمی آواتار دلتنگ اسمان
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    دل یار
    سن
    35
    پست
    571

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

    با سلام
    میخوام رشته ورودی تکس باکس با فرمت زیر همخوانی داشته باشه در غیر اینصورت پیغام بده.
    1-اگر عدد وارد شد تک رقمی بوده و بین 1تا8 باشد
    2- اگر حروف وارد شد ، یکی از حروف A,B,C,D باشد
    3-هیچگاه دو تا حرف کنار هم قرار نگیرن و تکراری هم نباشن.یعنی به اینصورت نباشن: AA یا AB
    4-بین هر حرف (منظورم همان چهار حرف) یا عددی که وارد میشود کاربر با وارد کردن کارکتر '-' انها رو از هم جدا کنه.
    کدها شو نوشتم اما درست کار نمیکنه . مثلا به این صورت باشه: A-B-C
    اگه رشته ورودی با ' -' شروع بشه درست عمل میکنه .
    ولی اگه اول یکی از حروف وارد بشه و بعد - و دوباره حرف دیگه وارد بشه پیغام میده.
    string reg = "[1-9]{2}"; 
    if (Regex.IsMatch(text.Text, reg))
    {
    MessageBox.Show("عدد وارد شده باید بین 1 تا 8 باشد", "عدد ورودی", MessageBoxButtons.OK);
    text.Text = "";
    return;
    }

    text.Text = text.Text.ToUpper();

    string reg1 = "[A-E]{2}";
    if (Regex.IsMatch(text.Text, reg1))
    {
    MessageBox.Show("حروف وارد شده صحیح نیست", "حروف وارد شده", MessageBoxButtons.OK);
    text.Text = "";
    return;
    }
    string reg3 = "[a-e]{1}";
    if (Regex.IsMatch(text.Text, reg3))
    {

    MessageBox.Show("حروف وارد شده صحیح نیست", "حروف وارد شده", MessageBoxButtons.OK);
    text.Text = "";

    return;
    }

  2. #2
    کاربر دائمی آواتار abbas.oveissi
    تاریخ عضویت
    دی 1389
    محل زندگی
    تهران
    پست
    578

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

    نقل قول نوشته شده توسط دلتنگ اسمان مشاهده تاپیک
    با سلام
    میخوام رشته ورودی تکس باکس با فرمت زیر همخوانی داشته باشه در غیر اینصورت پیغام بده.
    1-اگر عدد وارد شد تک رقمی بوده و بین 1تا8 باشد
    2- اگر حروف وارد شد ، یکی از حروف A,B,C,D باشد
    3-هیچگاه دو تا حرف کنار هم قرار نگیرن و تکراری هم نباشن.یعنی به اینصورت نباشن: AA یا AB
    4-بین هر حرف (منظورم همان چهار حرف) یا عددی که وارد میشود کاربر با وارد کردن کارکتر '-' انها رو از هم جدا کنه.
    کدها شو نوشتم اما درست کار نمیکنه . مثلا به این صورت باشه: A-B-C
    اگه رشته ورودی با ' -' شروع بشه درست عمل میکنه .
    ولی اگه اول یکی از حروف وارد بشه و بعد - و دوباره حرف دیگه وارد بشه پیغام میده.
    string reg = "[1-9]{2}"; 
    if (Regex.IsMatch(text.Text, reg))
    {
    MessageBox.Show("عدد وارد شده باید بین 1 تا 8 باشد", "عدد ورودی", MessageBoxButtons.OK);
    text.Text = "";
    return;
    }

    text.Text = text.Text.ToUpper();

    string reg1 = "[A-E]{2}";
    if (Regex.IsMatch(text.Text, reg1))
    {
    MessageBox.Show("حروف وارد شده صحیح نیست", "حروف وارد شده", MessageBoxButtons.OK);
    text.Text = "";
    return;
    }
    string reg3 = "[a-e]{1}";
    if (Regex.IsMatch(text.Text, reg3))
    {

    MessageBox.Show("حروف وارد شده صحیح نیست", "حروف وارد شده", MessageBoxButtons.OK);
    text.Text = "";

    return;
    }
    من دقیقا این کد رو کپی کردم عبارت A-B رو که قبول میکرد بدون مشکل؟!

  3. #3
    کاربر دائمی آواتار دلتنگ اسمان
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    دل یار
    سن
    35
    پست
    571

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

    والا من هر چی میزنم پیغام میده. اول حرف A رو زدی بعد'-' وبعد هم B را؟ من که میزنم نمیشه!!!
    این هم کد خودم:
     private void textBox1_TextChanged(object sender, EventArgs e)
    {
    txtch(textBox1);
    }


    void txtch(TextBox text)
    {
    string reg = "[1-9]{2}";
    if (Regex.IsMatch(text.Text, reg))
    {
    MessageBox.Show("عدد وارد شده باید بین 1 تا 8 باشد", "عدد ورودی", MessageBoxButtons.OK);
    text.Text = "";
    return;
    }

    text.Text = text.Text.ToUpper();

    string reg1 = "[A-E]{2}";
    if (Regex.IsMatch(text.Text, reg1))
    {
    MessageBox.Show("حروف وارد شده صحیح نیست", "حروف وارد شده", MessageBoxButtons.OK);
    text.Text = "";
    return;
    }
    string reg3 = "[a-e]{1}";
    if (Regex.IsMatch(text.Text, reg3))
    {

    MessageBox.Show("حروف وارد شده صحیح نیست", "حروف وارد شده", MessageBoxButtons.OK);
    text.Text = "";

    return;
    }
    }

  4. #4
    کاربر دائمی آواتار abbas.oveissi
    تاریخ عضویت
    دی 1389
    محل زندگی
    تهران
    پست
    578

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

    نقل قول نوشته شده توسط دلتنگ اسمان مشاهده تاپیک
    والا من هر چی میزنم پیغام میده. اول حرف A رو زدی بعد'-' وبعد هم B را؟ من که میزنم نمیشه!!!
    این هم کد خودم:
    بعد خط 17 که تابع ToUpper رو استفاده کردید این خط رو اضافه کنید.
    text.Select(text.Text.Length, 0);
    حالا باز تست کنید و نتیجه رو بگید؟

  5. #5
    کاربر دائمی آواتار دلتنگ اسمان
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    دل یار
    سن
    35
    پست
    571

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

    نقل قول نوشته شده توسط abbas.oveissi مشاهده تاپیک
    بعد خط 17 که تابع ToUpper رو استفاده کردید این خط رو اضافه کنید.
    text.Select(text.Text.Length, 0);
    حالا باز تست کنید و نتیجه رو بگید؟
    ممنون درست شد.
    این کد چی میکنه؟ آخرین کاراکتر رشته رو انتخاب میکنه؟

  6. #6
    کاربر دائمی آواتار abbas.oveissi
    تاریخ عضویت
    دی 1389
    محل زندگی
    تهران
    پست
    578

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

    نقل قول نوشته شده توسط دلتنگ اسمان مشاهده تاپیک
    ممنون درست شد.
    این کد چی میکنه؟ آخرین کاراکتر رشته رو انتخاب میکنه؟
    مشکل اینجا بود زمانی که تابع ToUpper بعد هر حرف فراخوانی میشد،کرسر به جای اینکه بعد آخرین حرف باشه به اول TextBox منتقل میشد.برای همین اگر A-B تایپ میکردید مثلا همچین چیزی میشد : BA-
    حالا من هر بار بعد تابع ToUpper با استفاده از همون خط کد دوباره کرسر رو به آخر انتقال دادم.البته این متد اصلش برای این هست که باهاش بتونی متن رو Select کنی،این هم پرامتر هاش :
    public void Select(    int start,    int length )
    آخرین ویرایش به وسیله abbas.oveissi : یک شنبه 29 تیر 1393 در 17:16 عصر

تاپیک های مشابه

  1. سوال: جدا کردن شماره های با فرمت خاص از رشته با REGEX
    نوشته شده توسط arash020 در بخش VB.NET
    پاسخ: 1
    آخرین پست: چهارشنبه 13 دی 1391, 23:34 عصر
  2. جداسازی رشته با توجه به یک فرمت خاص
    نوشته شده توسط MOJTABAATEFEH در بخش T-SQL
    پاسخ: 1
    آخرین پست: یک شنبه 15 خرداد 1390, 01:34 صبح
  3. 'گرفتن عدد در textbox با فرمت خاص
    نوشته شده توسط rezamim در بخش Foxpro
    پاسخ: 23
    آخرین پست: شنبه 20 آذر 1389, 13:41 عصر
  4. پاسخ: 5
    آخرین پست: یک شنبه 29 مرداد 1385, 08:38 صبح
  5. اتصال مجموع رشته های یک فیلد خاص
    نوشته شده توسط kazem346 در بخش SQL Server
    پاسخ: 3
    آخرین پست: دوشنبه 31 مرداد 1384, 10:06 صبح

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

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