За последние 24 часа нас посетили 16285 программистов и 1729 роботов. Сейчас ищут 1620 программистов ...

Корректное регулярное выражение

Тема в разделе "Регулярные выражения", создана пользователем Неугомонный, 10 фев 2018.

  1. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    Подскажите как правильно выполнить группировку для данной проверки, чтобы в локальной части до @ можно было использовать {1,64} символа
    PHP:
    1. $email = "Ivan.Test@mysite.ru";
    2. if(!preg_match("/^[a-z0-9]+[\-_\.]?[a-z0-9]+@[a-z0-9_\-]+\.[a-z]{2,6}$/i", $email))
    3.     $err .= "Адрес указан некорректно.";
    PHP:
    1. ^([a-z0-9]+[\-_\.]?[a-z0-9]+){1,64}@
    или с ?:
    PHP:
    1. ^(?:[a-z0-9]+[\-_\.]?[a-z0-9]+){1,64}@
    За стандартные фильтры знаю, интересует в регулярном выражении.
     
    #1 Неугомонный, 10 фев 2018
    Последнее редактирование: 10 фев 2018
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а русские буквы где?
    а китайские?
    а поддержка адресов без точки?
    а возможность указать адрес с плюсом?

    в php есть проверятор мыла, но самый правильный подход это /.+@.+/