آژانس هواپیمایی

مشکل با Regular Expression

شروع موضوع توسط peyman_khafan ‏13 ژوئن 2007 در انجمن PHP

  1. peyman_khafan

    peyman_khafan Registered User

    تاریخ عضویت:
    ‏12 سپتامبر 2005
    نوشته ها:
    198
    تشکر شده:
    3
    محل سکونت:
    شیراز
    سلام
    من تازه مجبور شدم که از Regular Expression در برنامم استفاده کنم.
    ولی مشکل اینجاست که نمی فهمم چی به چیه و هرکاری می کنم نمیشه :D
    دو جا لازم دارم که از این استفاده کنم :
    1- بررسی نام کاربری که فقط از حروف ، اعداد و _ (underscore) تشکیل بشه و برای سایر کاراکترها پیغام خطا بده.
    2 - بررسی شماره حساب که فقط شامل اعدا ، - ( علامت منفی) و . (نقطه) بشه.
    اگه میشه و لطفا کنید راهنمایی کنید یا آمادشو اینجا بذلرید ممنون میشم.
    در ضمن اینم بگم که خیلی سرچ کردم و یه چیزایی هم پیدا کردم ولی باز نفهمیدم قضیه از چه قراره و یا به درستی کار نمیکنن.
     
  2. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    9
    چرا مجبور بشی؟ regex ها طوری هستند كه بعد از اینكه بهشون وارد بشی به شدت تو وقت و كیفیت برنامه هات تأثیر میذارن. كدی هم كه میخوای این میشه :
    PHP:
    $is_user preg_match('@^[a-zA-Z0-9_]*$^@'$str$match); 
    $is_account preg_match('@^[0-9\-\.]*$^@'$str$match); 
    این pdf هم شاید بهتر كمكت كنه : http://rapidshare.com/files/31222336/regex.pdf.html
     
  3. peyman_khafan

    peyman_khafan Registered User

    تاریخ عضویت:
    ‏12 سپتامبر 2005
    نوشته ها:
    198
    تشکر شده:
    3
    محل سکونت:
    شیراز
    آقا خیلی ممنون از اینکه جواب دادی
    امتحان می کنم ببینم چی میشه
     
  4. peyman_khafan

    peyman_khafan Registered User

    تاریخ عضویت:
    ‏12 سپتامبر 2005
    نوشته ها:
    198
    تشکر شده:
    3
    محل سکونت:
    شیراز
    اقا من اینو اینجوری می ذارم تو کدم ولی جواب نمیده :
    PHP:
    function validun($username) {
    if (
    preg_match('@^[a-zA-Z0-9_]*$^@'$username$match)) { 
       return 
    TRUE;
    } else {
           
           return 
    FALSE;
      }
    }

    if (
    validun($username)){
    ادامه بده
    }
    else { echo 
    "خطا"; }
     

    میشه بگی مشکل کجا هست؟
     
  5. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    9
    یه جا من اشتباه كردم. اون ^ آخر اضافه هست. شرمنده.

    PHP:
    if (preg_match('@^[a-zA-Z0-9_]*[email protected]'$username$match)) {
     
avanak عسل طبیعی و گرده گل ایرانی