валидатор формы

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

Статус темы:
Закрыта.
Модераторы: xpert13
  1. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    270
    Симпатии:
    12
    Создал форму заказа товара... Нужно на сервере взять эти данные и провести валидацию:
    1.только буквы лат и рус
    2.только числа
    3. числа и некоторые знаки +,-
    Если что-то не подошло, вернуть ошибку.
    может кто знает что мне поможет?
     
  2. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    регулярные выражения
    1.[^а-яА-Яa-zA-Z]
    2. \D
    3.[^\d+-]

    почитай про preg_match() - сами регулярки примерно такие как я привел выше
     
  3. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    270
    Симпатии:
    12
    preg_match знаю... просто ищу готовое решение=)
     
  4. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    ну так в чем дело ?

    выдрать из трех строх по трем регуляркам - смержить, и если не пустая строка - вернуть ошибку
     
  5. DenisK

    DenisK

    Регистр.:
    8 фев 2007
    Сообщения:
    206
    Симпатии:
    14
  6. w3mast0r

    w3mast0r Создатель

    Регистр.:
    8 дек 2009
    Сообщения:
    14
    Симпатии:
    2
    PHP:
    <?php
    if (!preg_match('!^[a-zа-я\d]+$!is',$st)) die ("только буквы лат и рус");
    if (!
    preg_match('!^\d+$!s'$st)) die ("только числа");
    if (!
    preg_match('!^[\d\+\-]+$!s'$st)) die ("числа и некоторые знаки +,-");
    ?>
     
  7. potuga

    potuga

    Регистр.:
    22 сен 2009
    Сообщения:
    376
    Симпатии:
    91
    Это ерундистика какая-то. Нужно же все три условия обрабатывать + еще \d затесалась в первом пункте.

    PHP:
    if (!(preg_match('!^[a-zа-я]+$!i',$st) || preg_match('!^[\d\+\-]+$!'$st)))
        die(
    "Ошибка");
     
Статус темы:
Закрыта.