За последние 24 часа нас посетили 16642 программиста и 1681 робот. Сейчас ищут 835 программистов ...

Проблема с регулярными выражениями

Тема в разделе "Прочие вопросы по PHP", создана пользователем Schokk, 31 июл 2015.

  1. Schokk

    Schokk Новичок

    С нами с:
    13 янв 2015
    Сообщения:
    46
    Симпатии:
    0
    Здравствуйте. Задача стара как мир но я к сожалению никак не могу ее решить и да я искал в гугле.
    Есть строка и в ней должны быть только русские большие и маленькие буквы цифры пробел точка и запятая.
    Нужно что бы после проверки возвращался 1 если нет лишних символов и 0 если присутствуют другие символы.
    Вот как я пытался это делать:
    Код (PHP):
    1. $f="г.Киев, ул.Горького 1";
    2. if(preg_match("|^[А-Я,а-я,0-9., ]+$|i",$f))
    3.     $go_flag=0;
    4. else
    5. $go_flag=1;
    6.  
    у меня все время возвращает 1, даже если я введу туда английские буквы.
    Помогите пожалуйста.

    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  3. Schokk

    Schokk Новичок

    С нами с:
    13 янв 2015
    Сообщения:
    46
    Симпатии:
    0
    изменил на это:
    Код (Text):
    1.  
    2. $f="г.Киев, ул.Горького 1";
    3. if(preg_match("/[А-Яа-я0-9\s\.\,]+ / iu",$f))
    4.     $go_flag=0;
    5. else
    6. $go_flag=1;
    все равно не работает.
    помогите кто ни будь правильно написать(
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Schokk учи основы, даже готовое регулярное выражение тебе не помогает.

    https://secure.php.net/manual/ru/pcre.pattern.php

    Код (PHP):
    1. if (preg_match("/^([0-9а-я\s\.\,]+)$/iu", "г.Киев, ул.Горького 1")) {
    2.     echo "Вхождение найдено.";
    3. } else {
    4.     echo "Вхождение не найдено.";
    5. }
     
  5. Schokk

    Schokk Новичок

    С нами с:
    13 янв 2015
    Сообщения:
    46
    Симпатии:
    0
    спасибо огромное!ты просто бог!
     
  6. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    богу полагается жертвоприношение:)