За последние 24 часа нас посетили 17755 программистов и 1283 робота. Сейчас ищут 1459 программистов ...

проверка строки

Тема в разделе "Регулярные выражения", создана пользователем Pashok, 23 апр 2007.

  1. Pashok

    Pashok Активный пользователь

    С нами с:
    23 апр 2007
    Сообщения:
    2
    Симпатии:
    0
    почему в таком случае
    PHP:
    1. <?php
    2.  
    3. $name = "75436gfd84375fjds";
    4. if(preg_match('[a-zA-Z0-9]',$name)) echo 'подходит';
    5. else echo 'не подходит';
    6.  
    7. ?>
    8.  
    выдаёт не подходит

    прошу не отсылать куда подальше! )
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    /^[a-z0-9]+$/i

    а то считает 1 символ
     
  3. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    если у тебя [ и ] - делимитеры, то потому что в искомой строке нет подстроки "a-zA-Z0-9".
    если у тебя [ и ] - начало и конец описания символьного класса, то потому что ты забыл поставить делимитеры.
     
  4. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    неправда, у него ищется подстрока "a-zA-Z0-9". =)
     
  5. Pashok

    Pashok Активный пользователь

    С нами с:
    23 апр 2007
    Сообщения:
    2
    Симпатии:
    0
    всё! спасибо большое! )
     
  6. Amiak

    Amiak Активный пользователь

    С нами с:
    29 май 2007
    Сообщения:
    68
    Симпатии:
    0
    Адрес:
    Подмосковье
    Граждане а с учетам всего выше описаного..

    Код (Text):
    1. $name = "75436gfd84375fjds";
    2. $nameR = "75436GFD84375FJDS";
    3. if(preg_match('$name'/i, $nameR)) echo 'подходит';
    4. else echo 'не подходит';
    будет работать регистронезависимый поиск?
     
  7. Davil

    Davil Guest

    нет не будет.
    Регистронезависимый надо указывать внутри шаблона.
    PHP:
    1.  
    2. <?php
    3. if(preg_match('/'.$name.'/i', $nameR)) echo 'подходит';
    4. ?>
     
  8. Amiak

    Amiak Активный пользователь

    С нами с:
    29 май 2007
    Сообщения:
    68
    Симпатии:
    0
    Адрес:
    Подмосковье
    спасибо!