Какой символ обязательно присутствует в адресе электронной почты?

11 ответов на вопрос “Какой символ обязательно присутствует в адресе электронной почты?”

  1. bazil142 Ответить

    Текстовый процессор (редактор)
    1. Выберите верный алгоритм копирования фрагмента текста
    выделить фрагмент, Копировать, установить курсор, Вставить
    установить курсор, выделить фрагмент, Вырезать, Вставить
    установить курсор, выделить фрагмент, Копировать, Вставить
    выделить фрагмент. Вырезать, установить курсор, Вставить
    2. При наборе текста в текстовом редакторе, клавиша Еnter используется для
    перехода на новый абзац
    вставки рисунка
    перехода на новую страницу
    открытие нового документа
    3. Каких списков нет в текстовом редакторе
    многоколоночных
    многоуровневых
    нумерованных
    маркированных
    Электронные таблицы
    4. Основным элементом электронной таблицы является
    ячейка
    5. В электронной таблице имя ячейки образуется
    из имени столбца и строки
    из имени столбца
    из имени строки
    из последовательности цифр
    6. Электронная таблица структурно состоит из
    строк и столбцов
    фрагментов
    абзацев
    записей и полей
    Интернет и электронная почта
    7. Какой символ обязательно присутствует в адресе электронной почты
    @
    *
    #
    &
    8. Что нельзя прикрепить к электронному письму
    папку
    текстовый файл
    графический файл
    архив
    9. Поисковая система это
    сайт, позволяющий осуществлять поиск информации на основе ключевых слов, определяющих область интереса пользователя
    программа тестирования компьютера
    протокол передачи почтовых сообщений
    программа передачи гипертекстовой информации
    10. Выберите правильные ответы: «Гиперссылкой может быть…»
    текст
    графическое изображение
    папка
    архив
    11. Поставить в соответствие название программы и определение
    Текстовый редактор
    компьютерная программа, используемая для создания,
    редактирования н форматирования документов
    Графический редактор
    компьютерная программа создания и редактирования изображений
    (рисунков, фотографий и др.)
    Электронные таблицы
    компьютерная программа, предназначенная для обработки различных
    данных, представленных в табличной форме
    Браузер
    компьютерная программа, обеспечивающая доступ и перемещение в
    глобальной компьютерной сети Интернет

  2. лелео Ответить

    Основы ИКТ   технологии
    Текстовый процессор
    1. Выберите верный алгоритм  копирования фрагмента текста
    – выделить фрагмент, Копировать, установить курсор, Вставить
    – установить курсор, выделить фрагмент, Вырезать, Вставить
    – установить курсор, выделить фрагмент, Копировать, Вставить
    – выделить фрагмент, Вырезать, установить курсор, Вставить
    2.При наборе текста в  текстовом редакторе  клавиша Enter используется для
    – перехода на новый абзац
    – вставки рисунка
    – перехода на новую страницу
    – открытие нового документа
    3. Каких  списков нет в  текстовом редакторе
    – многоколончатых
    – многоуровневых
    – нумерованных
    –  маркированных
    Электронные таблицы
    4. Основным  элементом  электронной таблицы является ….ячеейка
    5. В электронной таблице имя ячейки образуется
    – из имени столбца и строки
    – из имени столбца
    – из имени строки
    – из последовательности цифр
    Интернет и  электронная  почта
    6. Какой символ обязательно присутствует в адресе электронной почты
    @
    *
    #
    &
    7. Что нельзя прикрепить к электронному письму
    – папку
    – текстовый файл
    – графический файл
    – архив
    8. Поисковая система это
    –  сайт, позволяющий осуществлять  поиск информации на  основе ключевых слов, область интереса  пользователя
    – программа тестирования компьютера
    -протокол передачи почтовых сообщений
    – программа передачи гипертекстовой информации
    9. Выберите правильные ответы:  «Гиперссылкой  может быть…»
    – текст
    -графическое изображение
    -папка
    -архив
    10. Поставить в  соотвествие  название программы  и определение
    Текстовый редактор  –  компьютерная программа, используемая  для создания, редактирования и форматирования документов
    Графический редактор – компьютерная программа создания и редактирования изображений (рисунков, фотографий и др.)
    Электронные таблицы – компьютерная программа, предназначенная для обработки различных данных, представленных в табличной форме
    Браузер – компьютерная программа, обеспечивающая доступ и перемещение в глобальной компьютерной сети Интернет

  3. metalik19 Ответить

    Ответы на тест «Основы ИКТ технологии»
    Текстовый процессор (редактор)
    1.   Выберите верный алгоритм копирования фрагмента текста
    выделить фрагмент, Копировать, установить курсор, Вставить
    установить курсор, выделить фрагмент, Вырезать, Вставить
    установить курсор, выделить фрагмент, Копировать, Вставить
    выделить фрагмент. Вырезать, установить курсор, Вставить
    2.   При наборе текста в текстовом редакторе, клавиша Еnter используется для
    перехода на новый абзац
    вставки рисунка
    перехода на новую страницу
    открытие нового документа
    3.   Каких списков нет в текстовом редакторе
    многоколоночных
    многоуровневых
    нумерованных
    маркированных
    Электронные таблицы
    4. Основным элементом электронной таблицы является
     ячейка 
    5. В электронной таблице имя ячейки образуется
    из имени столбца и строки
    из имени столбца
    из имени строки
    из последовательности цифр
    6.   Электронная таблица структурно состоит из
    строк и столбцов
    фрагментов
    абзацев
    записей и полей
    Интернет и электронная почта
    7.   Какой символ обязательно присутствует в адресе электронной почты
    @
    *
    #
    &
    8.   Что нельзя прикрепить к электронному письму
    папку
    текстовый файл
    графический файл
    архив
    9. Поисковая система это
    сайт, позволяющий осуществлять поиск информации на основе ключевых слов, определяющих область интереса пользователя
    программа тестирования компьютера
    протокол передачи почтовых сообщений
    программа передачи гипертекстовой информации
    10. Выберите правильные ответы: «Гиперссылкой может быть…»
    текст
    графическое изображение
    папка
    архив
    11. Поставить в соответствие название программы и определение
    Текстовый редактор
    компьютерная программа, используемая для создания,
    редактирования н форматирования документов
    Графический редактор
    компьютерная программа создания и редактирования изображений
    (рисунков, фотографий и др.)
    Электронные таблицы
    компьютерная программа, предназначенная для обработки различных
    данных, представленных в табличной форме
    Браузер
    компьютерная программа, обеспечивающая доступ и перемещение в
    глобальной компьютерной сети Интернет

  4. toxac1 Ответить

    1. Сфера и предмет регулирования
    Настоящие Условия защиты информации о пользователях (далее – Условия) являются официальным документом ЧОУ ДПО «УМЦ «Педагог» (далее – Оператор) и разработан и исполняется Оператором в отношении интернет-сайтов Оператора, а также сервисов, предоставляемых пользователям таких интернет-сайтов. Под указанными выше сервисами понимаются, в частности, подача заявки на участие в мероприятии, акции; осуществление оплаты за услуги при помощи интернет-сайта; подписка на новости; дистанционное взаимодействие между Оператором и пользователем посредство телефонных переговоров по заявкам пользователей на интернет-сайте Оператора, сервисы, предоставляемые через личный кабинет пользователя и т.п. Данные Условия определяют условия и цели сбора, хранения, защиты, обработки, предоставления и распространения информации о пользователях Интернет-ресурсов Оператора.
    Адрес и контакты ЧОУ ДПО «УМЦ «Педагог»:
    Адрес местонахождения (юридический адрес): Российская Федерация, 428024 , Чувашская Республика г. Чебоксары, проспект Мира, дом 90, корпус 1, каб. 429
    Почтовый адрес Российская Федерация, 428024 , Чувашская Республика г. Чебоксары, проспект Мира, дом 90, корпус 1, каб. 429
    Телефон: +7 (966) 249-10-69.
    2. Виды информации
    В соответствии с настоящими Условиями к информации о пользователях относятся:
    фамилия, имя, отчество, дата и место рождения, паспортные данные, сведения об образовании, место работы, адрес места жительства, номера личных телефонов, контактная информация, информация об учебной деятельности, данные договора об оказании платных образовательных услуг, данные о перемене имени.
    Для целей исполнения настоящих Условий и обеспечения дополнительной защиты пользователей предусмотренные Условиями режим защиты персональных данных распространяется на адреса электронной почты, ICQ, Odigo, IRC, телефонные номера и почтовые адреса.
    Вся собранная, хранящаяся и обработанная Оператором информация о пользователях считается информацией ограниченного доступа, если иное не установлено законодательством Российской Федерации или настоящими Условиями.
    3. Применимое законодательство
    Рассматриваемые настоящими Условиями отношения, связанные со сбором, хранением, обработкой, распространением и защитой информации о пользователях Интернет-ресурсов/сервисов, регулируются в соответствии с действующим законодательством Российской Федерации. Применение к ним норм иностранного права возможно исключительно в случаях, предусмотренных законодательством Российской Федерации и имеющими силу для Российский Федерации международными соглашениями.
    4. Статус Условий и официальных документов Оператора
    Официальными документами Оператора, определяющими условия использования отдельных Интернет-ресурсов/сервисов могут быть определены дополнительные условия, состав и порядок сбора, хранения, защиты, обработки и распространения информации о пользователях.
    Настоящие Условия имеют приоритет над вышеназванными документами и регламентами, которые применяются только в том случае, если не противоречат настоящим Условиям и при условии, что указанными документами и регламентами явно не указано, что их положения в отношении защиты информации пользователей имеют преимущественную силу.
    5. Условия обращения к Интернет-ресурсам/сервисам и согласие пользователя
    Оператор исходит из того, что пользователь, инициирующий обращение к Интернет-ресурсам/сервисам:
    1. сознательно использует Интернет-ресурсы/сервисы от своего имени и достоверно указывает информацию о себе в объеме и в случаях, когда это требуется при регистрации, доступе и использовании Интернет-ресурсов/сервисов;
    2. сознательно определил и контролирует настройки используемого им программного обеспечения в соответствии со своими предпочтениями относительно защиты информации, хранящейся на стороне браузера, персональных данных, информации о собственном аппаратно-программном обеспечении и интернет-соединении;
    При регистрации и доступе к Интернет-ресурсам/сервисам пользователю запрещается указывать о себе недостоверную и/или неполную информацию. Пользователь самостоятельно несет риски наступления любых неблагоприятных последствий в случаях предоставления чужих и (или) недостоверных персональных данных.
    Оператор считает, что пользователь, регистрируясь и осуществляя доступ к Интернет-ресурсам/сервисам, ознакомлен с настоящими Условиями, выражает свое согласие с ними и принимает на себя указанные в них права и обязанности. Согласие пользователей сети Интернет осуществляется в форме и на условиях, установленных настоящими Условиями.
    В случае несогласия пользователя с настоящими Условиями использование Интернет-ресурсов/сервисов должно быть прекращено.
    Заполняя размещенную на Интернет-ресурсе/сервисе регистрационную форму и предоставляя свои персональные данные Оператору, пользователь подтверждает, что он достиг возраста 14 лет и что он принимает настоящие Условия и дает согласие на обработку своих персональных данных Оператору в соответствии с настоящими Условиями.
    Предоставляя данные третьих лиц, необходимые для использования Интернет-ресурса/сервиса, пользователь подтверждает получение им согласия этих лиц на обработку их персональных данных или наличие у пользователя полномочий на выражение согласия от имени таких лиц.
    Согласие, предоставляемое пользователем при регистрации и сообщении своих персональных данных и персональных данных третьих лиц Оператору, также распространяется на передачу таких данных Оператором иным лицам в целях обеспечения возможности использования Интернет-ресурсов/сервисов согласно их назначению, в т.ч. для целей поддержания работоспособности Интернет-ресурсов/сервисов, анализа информации об их использовании, а также осуществления действий направленных на подключение пользователя к услугам Оператора, включая заключение от имени Оператора договора о предоставлении услуг Оператора.
    Оператор исходит из того, что регистрационную форму на Интернет-ресурсе/сервисе заполняет непосредственно сам пользователь. Ответственность за правомерность предоставления и достоверность персональных данных пользователя и иных лиц, данные которых сообщены, несет исключительно пользователь. Поскольку Оператор не проводит установление личности пользователя и не принимает на себя обязанности по такому установлению личности, Оператор не отвечает за то, что пользователь действительно является тем лицом, от имени которого осуществлена регистрация и/или использование Интернет-ресурса/сервиса, и не несет ответственности за возможный ущерб, причиненный другим пользователям или иным лицам в случае, если пользователь не является таким лицом.
    Оператор не принимает на себя никаких обязательств по проверке достоверности персональных данных, указанных пользователем, и не несет ответственности в случае, если пользователь предоставит больший объем данных, чем это предусмотрено размещенной на Интернет-ресурсе/сервисе регистрационной формой и целями обработки персональных данных, в том числе специальные категории персональных данных. Предоставляя персональные данные в объеме большем, чем это предусмотрено регистрационной формой и целями обработки персональных данных, пользователь выражает свое согласие на обработку таких персональных данных Оператором.
    Пользователь осознает и подтверждает, что при регистрации и/или использовании Интернет-ресурса/сервиса с использованием аккаунтов пользователя в социальных сетях Оператор может получить больший объем персональных данных по сравнению с объемом, который предусмотрен размещенной на Интернет-ресурсе/сервисе регистрационной формой, и что в этом случае на обработку таких данных Оператором дополнительное согласие пользователя не требуется.
    Предусматривается смешанная обработка персональных данных пользователей и иных лиц, персональные данные которых указаны при регистрации и использовании Интернет-ресурса/сервиса, то есть как обработка без использования средств автоматизации, так и автоматизированная обработка с передачей полученной информации с использованием сети Интернет.
    Настоящее согласие предоставляется на весь период использования Интернет-ресурса/сервиса согласно его назначению, а также 3 (трех) лет после прекращения такого использования, если иное не предусмотрено законодательством РФ.
    Пользователь осведомлен, что может отозвать согласие на обработку персональных данных, направив Оператору заявление в бумажной или в электронной форме, в том числе с использованием своего аккаунта (учетной записи) на Интернет-ресурсе/сервисе с указанием в таком заявлении данных, предусмотренных Федеральным законом от 27.07.2006 № 152-ФЗ «О персональных данных».
    В случае получения отзыва согласия пользователя на обработку персональных данных в бумажной форме Оператор в целях идентификации субъекта персональных данных вправе запросить у такого лица дополнительные сведения, предоставленные субъектом персональных данных при регистрации на Интернет-ресурсе/сервисе, либо попросить такое лицо направить электронный запрос на отзыв согласия на обработку персональных данных через соответствующий аккаунт (учетную запись) субъекта персональных данных на Интернет-ресурсе/сервисе.
    В случае невыполнения обратившимся лицом таких дополнительных действий Оператор вправе отказать такому лицу в отзыве согласия на обработку персональных данных в целях защиты прав третьих лиц.
    В случае отзыва ранее выданного согласия на обработку персональных данных пользователем или третьими лицами, персональные данные которых были получены Оператором от пользователя, указанные субъекты не смогут воспользоваться Интернет-ресурсом/сервисом и предоставляемыми с его помощью услугами и возможностями.
    Оператор вправе продолжить обработку персональных данных пользователя после отзыва им своего согласия в случаях, предусмотренных законодательством Российской Федерации.
    При этом пользователь уведомлен, что несет установленную законодательством РФ ответственность в случае указания некорректных контактных данных, а также данных третьих лиц без получения соответствующих полномочий от них.
    6. Сбор и обработка информации о пользователях
    Оператор осуществляет сбор и обработку информации о пользователях в соответствии с настоящими Условиями и иными официальными документами Оператора, определяющими условия использования соответствующих Интернет-ресурсов/сервисов, в целях исполнения своих обязанностей, установленных указанными документами, в т.ч. в целях предоставления функциональных возможностей, услуг и т.п., предусмотренных соответствующими Интернет-ресурсами/сервисами и запрошенными пользователями.
    Оператором осуществляются следующие действия с персональными данными пользователя: сбор, запись, накопление, хранение, извлечение, использование, удаление, уничтожение, автоматизированная и ручная обработка (в случае, когда это требуется для предоставления услуги или консультации пользователю), в том числе для подбора рекламы в соответствии с интересами пользователя, передача партнерам в зашифрованном и не зашифрованном виде.
    Оператор имеет право обрабатывать информацию о пользователях, полученную в результате обмена информацией с третьими лицами по протоколам OpenID и OAuth, при условии что указанные третьи лица получат предварительное согласие пользователей на указанную обработку.
    7. Ограничение получения информации от и о несовершеннолетних
    Оператор не имеет намерения получать информацию от несовершеннолетних и рекомендует законным представителям несовершеннолетних допускать их к работе в сети Интернет только под собственным контролем законным представителям.
    Оператор использует информацию о пользователях в целях защиты прав несовершеннолетних в рамках и пределах, установленных действующим законодательством.
    8. Ограничение ответственности за достоверность получаемой информации
    Оператор не проверяет достоверность получаемой информации о пользователях и не осуществляет контроль за правосубъектностью пользователей.
    9. Хранение информации о пользователях
    Оператор осуществляет хранение информации о пользователях в соответствии с настоящими условиями.
    10. Защита информации
    Оператор предпринимает все разумные меры по защите информации о пользователях от уничтожения, искажения или разглашения.
    Оператор обеспечивает конфиденциальность соответствующей информации в пределах и на условиях, установленных действующим законодательством Российской Федерации и настоящим Условиями.
    11. Доступ к информации о пользователях
    Помимо Оператора, доступ к информации о пользователях, при условии соблюдения требований законодательства Российской Федерации имеют:
    1. лица, права и обязанности которых по доступу к соответствующей информации установлены федеральными законами Российской Федерации;
    2. пользователи Интернет-ресурсов/сервисов – в части доступа к информации, идентифицирующей их личность (персональные данные пользователей), по указанному ими при регистрации паролю и логину;
    3. партнеры Оператора в отношении совместных партнерских проектов и сервисов Оператора в пределах и на условиях, устанавливаемых соответствующими официальными документами, определяющих их использование;
    4. пользователи проектов и сервисов Оператора в пределах и на условиях, устанавливаемых соответствующими официальными документами Оператора, определяющих их использование;
    5. лица и организации, осуществляющие техническую поддержку служб и сервисов Оператора в объеме, необходимом для осуществления такой технической поддержки, при условии соблюдения ими конфиденциальности информации о пользователях;
    6. лица, обратившиеся к Оператору в соответствии с Регламентом по рассмотрению жалоб и блокированию незаконного контента, при условии наличия заявления пользователя о несогласии с блокированием спорного (незаконного) контента.
    12. Права пользователя в отношении информации
    Оператор гарантирует соблюдение следующих прав пользователя Интернет-ресурсов/сервисов:
    1. право на получение сведений о том, осуществляется ли Оператором обработка информации, позволяющей идентифицировать личность пользователя (персональные данные);
    2. право на удаление обрабатываемых персональных данных;
    3. право на редактирование, уточнение или исправление обрабатываемых персональных данных при условии соблюдения требований настоящих Условий.
    Удаление персональных данных происходит в течение 3 (трех) рабочих дней со дня поступления соответствующего запроса пользователя и может повлечь невозможность использования последним соответствующих Интернет-ресурсов/сервисов.
    Оператор вправе удалить информацию о пользователе в случае нарушения последним норм официальных документов Оператора, в том числе, определяющих условия использования отдельных Интернет-ресурсов/сервисов.
    Если таковая возможность предусмотрена , пользователь Интернет-ресурсов/сервисов имеет право разрешить или запретить предоставление информации о себе партнерам Оператора или третьим лицам по протоколам OpenID и OAuth. Оператор обязуется в соответствующих официальных документах, определяющих правила использования сервисов Оператора, указывать лиц, которым будет предоставлена данная информация, и условия указанного волеизъявления пользователя в отношении использования информации в рамках указанных протоколов.
    Пользователь имеет право распространять собственные персональные данные любыми законными способами. Оператор не несет ответственности за действия третьих лиц, которые получили доступ к информации о пользователях в результате указанного распространения, либо осуществили неправомерный доступ к охраняемой информации о пользователях.
    13. Ограничение распространения и предоставления информации о пользователях
    Оператор распространяет и/или предоставляет информацию о пользователях исключительно в следующих случаях:
    1. после обработки соответствующей информации (деперсонификации информации), повлекшей удаление сведений (включая адреса электронной почты), позволяющих идентифицировать личность пользователя, а также после статистической обработки информации;
    2. с разрешения лиц, предоставивших Оператору при регистрации на соответствующих Интернет-ресурсах Оператора собственные профили;
    3. предоставление информации лицам, указанным в п. 11 настоящих Условий.
    14. Ограничение использования информации из профилей пользователей
    В случае, если пользователю стали известны логин и пароль другого пользователя, а также иная конфиденциальная информация о последнем, он обязан уведомить об этом Оператора и не использовать ставшую известной ему указанную информацию.
    Оператор использует информацию о пользователях для целей анализа интересов и предпочтений пользователей, адаптации проектов и сервисов Оператора согласно результатам, полученным по итогам проведения вышеуказанного анализа, а также для целей рекламы на Интернет-ресурсах/сервисах в пределах, необходимых ее показа целевой аудитории.
    Информация из профилей пользователей не используется Оператором для рассылки пользователям любой информации, за исключением случаев, предусмотренных правилами (регламентами) использования соответствующих Интернет-ресурсов/сервисов, или по их явному запросу.
    15. Использование информации, хранящейся на стороне браузера
    Оператор использует информацию, хранящуюся на стороне браузера, в соответствии с целями, определенными настоящими Условиями, для определения уникального идентификатора доступа пользователя к Интернет-ресурсам/сервисам, для следующих целей:

  5. vendingo Ответить

    формате e-mail адрес: local-part@domain-part (макс. 64@255 символов, не более 256 в общей сложности).
    на local-part и domain-part может иметь другой набор разрешенных символов, но это еще не все, так как есть больше правил.
    в общем, локальная часть может иметь следующие символы ASCII:
    строчные буквы латинского алфавита: abcdefghijklmnopqrstuvwxyz,
    заглавные латинские буквы:ABCDEFGHIJKLMNOPQRSTUVWXYZ,
    цифр: 0123456789,
    специальные символы: !#$%&’*+-/=?^_`{|}~,
    точка: . (не первый или последний символ или повторяется, если не указано),
    пробел пунктуации, такие как:”(),:;@[\] (С некоторыми ограничениями),
    комментарии: () (разрешено в скобках, например,(comment)john.smith@example.com).
    домен входит:
    строчные буквы латинского алфавита: abcdefghijklmnopqrstuvwxyz,
    заглавные латинские буквы: ABCDEFGHIJKLMNOPQRSTUVWXYZ,
    цифры: 0123456789,
    дефис: – (не первый и не последний символ),
    может содержать IP-адрес в квадратные скобки: jsmith@[192.168.2.1] или jsmith@[IPv6:2001:db8::1].
    эти адреса электронной почты действительны:
    prettyandsimple@example.com
    very.common@example.com
    disposable.style.email.with+symbol@example.com
    other.email-with-dash@example.com
    x@example.com (одну букву местные часть)
    “much.more unusual”@example.com
    “very.unusual.@.unusual.com”@example.com
    “very.(),:;[]\”.VERY.\”very@\ \”very\”.unusual”@strange.example.com
    example-indeed@strange-example.com
    admin@mailserver1 (локальное доменное имя без домена верхнего уровня)
    #!$%&’*+-/=?^_`{}|~@example.org
    “()[]:,;@\”!#$%&’-/=?^_`{}| ~.a”@example.org
    ” “@example.org (пробел между кавычками)
    example@localhost (отправлено из localhost)
    example@s.solutions (см. список интернет верхнего уровня Домены)
    user@com
    user@localserver
    user@[IPv6:2001:db8::1]
    и эти примеры некорректны:
    Abc.example.com (не @ символ)
    A@b@c@example.com (одна @ допускается за пределами кавычек)
    a”b(c)d,e:f;gi[j\k]l@example.com (ни один из специальных символов в этой локальной части не допускается вне кавычек)
    just”not”right@example.com (строки с кавычками должны быть разделены точкой или единственный элемент, составляющий локальную часть)
    this is”not\allowed@example.com (пробелы, кавычки и обратные косые черты могут существовать только в кавычках и перед обратной косой чертой)
    this\ still\”not\allowed@example.com (даже если экранировано (предшествует обратной косой чертой), пробелы, кавычки и обратные косые черты должны по-прежнему содержаться кавычками)
    john..doe@example.com (две точки перед @); (С оговоркой: Gmail позволяет это через)
    john.doe@example..com (две точки после @)
    a действительно адрес с ведущим пробелом
    действительный адрес с конечным пробелом
    источник: адрес электронной почты в Википедии
    регулярное выражение RFC2822 Perl для проверки электронной почты:
    (?:(?:\r\n)?[ \t])*(?:(?:(?:[^()@,;:\”.\[\] 0-1]+(?:(?:(?:\r\n)?[ \t]
    )+|\Z|(?=[\[“()@,;:\”.\[\]]))|”(?:[^\”\r\]|\.|(?:(?:\r\n)?[ \t]))*”(?:(?:
    \r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()@,;:\”.\[\] 0-1]+(?:(?:(
    ?:\r\n)?[ \t])+|\Z|(?=[\[“()@,;:\”.\[\]]))|”(?:[^\”\r\]|\.|(?:(?:\r\n)?[
    \t]))*”(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()@,;:\”.\[\] 0-
    31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[“()@,;:\”.\[\]]))|\[([^\[\]\r\]|\.)*\
    ](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()@,;:\”.\[\] 0-1]+
    (?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[“()@,;:\”.\[\]]))|\[([^\[\]\r\]|\.)*\](?:
    (?:\r\n)?[ \t])*))*|(?:[^()@,;:\”.\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z
    |(?=[\[“()@,;:\”.\[\]]))|”(?:[^\”\r\]|\.|(?:(?:\r\n)?[ \t]))*”(?:(?:\r\n)
    ?[ \t])*)*\< (?:(?:\r\n)?[ \t])*(?:@(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\ r\n)?[ \t])+|\Z|(?=[\["()@,;:\".\[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n) ?[ \t])+|\Z|(?=[\["()@,;:\".\[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t] )*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@,;:\".\[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])* )(?:\.(?:(?:\r\n)?[ \t])*(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t] )+|\Z|(?=[\["()@,;:\".\[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*))*) *:(?:(?:\r\n)?[ \t])*)?(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+ |\Z|(?=[\["()@,;:\".\[\]]))|"(?:[^\"\r\]|\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r \n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?: \r\n)?[ \t])+|\Z|(?=[\["()@,;:\".\[\]]))|"(?:[^\"\r\]|\.|(?:(?:\r\n)?[ \t ]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()@,;:\".\[\] 0-1 ]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@,;:\".\[\]]))|\[([^\[\]\r\]|\.)*\]( ?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()@,;:\".\[\] 0-1]+(? :(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@,;:\".\[\]]))|\[([^\[\]\r\]|\.)*\](?:(? :\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()@,;:\”.\[\] 0-1]+(?:(?
    :(?:\r\n)?[ \t])+|\Z|(?=[\[“()@,;:\”.\[\]]))|”(?:[^\”\r\]|\.|(?:(?:\r\n)?
    [ \t]))*”(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()@,;:\”.\[\]
    0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[“()@,;:\”.\[\]]))|”(?:[^\”\r\]|
    \.|(?:(?:\r\n)?[ \t]))*”(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()
    @,;:\”.\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[“()@,;:\”.\[\]]))|”
    (?:[^\”\r\]|\.|(?:(?:\r\n)?[ \t]))*”(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t]
    )*(?:[^()@,;:\”.\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[“()@,;:\
    “.\[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?
    :[^()@,;:\”.\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[“()@,;:\”.\[
    \]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()@,;:\”.\[\] 0-
    1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[“()@,;:\”.\[\]]))|”(?:[^\”\r\]|\.|(
    ?:(?:\r\n)?[ \t]))*”(?:(?:\r\n)?[ \t])*)*\< (?:(?:\r\n)?[ \t])*(?:@(?:[^()@,; :\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@,;:\".\[\]]))|\[([ ^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()@,;:\" .\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@,;:\".\[\]]))|\[([^\[\ ]\r\]|\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()@,;:\".\ [\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@,;:\".\[\]]))|\[([^\[\]\ r\]|\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@,;:\".\[\]]))|\[([^\[\]\r\] |\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()@,;:\".\[\] 00-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@,;:\".\[\]]))|"(?:[^\"\r\]|\ .|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()@, ;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@,;:\".\[\]]))|"(? :[^\"\r\]|\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])* (?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@,;:\". \[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[ ^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@,;:\".\[\] ]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(
    ?:(?:[^()@,;:\”.\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[“()@,;:\
    “.\[\]]))|”(?:[^\”\r\]|\.|(?:(?:\r\n)?[ \t]))*”(?:(?:\r\n)?[ \t])*)(?:\.(?:(
    ?:\r\n)?[ \t])*(?:[^()@,;:\”.\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[
    \[“()@,;:\”.\[\]]))|”(?:[^\”\r\]|\.|(?:(?:\r\n)?[ \t]))*”(?:(?:\r\n)?[ \t
    ])*))*@(?:(?:\r\n)?[ \t])*(?:[^()@,;:\”.\[\] 0-1]+(?:(?:(?:\r\n)?[ \t
    ])+|\Z|(?=[\[“()@,;:\”.\[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*)(?
    :\.(?:(?:\r\n)?[ \t])*(?:[^()@,;:\”.\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|
    \Z|(?=[\[“()@,;:\”.\[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*))*|(?:
    [^()@,;:\”.\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[“()@,;:\”.\[\
    ]]))|”(?:[^\”\r\]|\.|(?:(?:\r\n)?[ \t]))*”(?:(?:\r\n)?[ \t])*)*\< (?:(?:\r\n) ?[ \t])*(?:@(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[" ()@,;:\".\[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n) ?[ \t])*(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["() @,;:\".\[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@, ;:\".\[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t] )*(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@,;:\ ".\[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)? (?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()@,;:\". \[\]]))|"(?:[^\"\r\]|\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?: \r\n)?[ \t])*(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[ "()@,;:\".\[\]]))|"(?:[^\"\r\]|\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t]) *))*@(?:(?:\r\n)?[ \t])*(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t]) +|\Z|(?=[\["()@,;:\".\[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*)(?:\ .(?:(?:\r\n)?[ \t])*(?:[^()@,;:\".\[\] 0-1]+(?:(?:(?:\r\n)?[ \t])+|\Z |(?=[\["()@,;:\".\[\]]))|\[([^\[\]\r\]|\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(
    ?:\r\n)?[ \t])*))*)?;\s*)
    полное регулярное выражение для адресов RFC2822 было всего лишь 3.7 k.
    Читайте также: парсер адресов электронной почты RFC 822 в PHP.
    официальное определения адресов электронной почты находятся в:
    RFC 5322 (разделы 3.2.3 и 3.4.1, устаревшие RFC 2822), RFC 5321, RFC 3696,
    RFC 6531 (разрешенные символы).
    по теме:
    истинная сила регулярных выражений

  6. taburyak Ответить

    Множество сайтов требуют от пользователя ввода адреса электронной почты, и мы, как крутые и щепетильные разработчики, всегда стремимся проверять формат введенных адресов строго по стандартам RFC. Благодаря этому наши приложения и сайты проверяют формат e-mail корректно и не имеют проблем с юзабилити, а мы сладко спим, потому что уверены, что все работает как надо.
    Ага, как бы не так!
    Приведенные выше аргументы звучат круто и железобетонно, но проблема здесь заключается в том, что в адресе почты могут находиться совершенно бессмысленные вещи, и, на деле, проверка адресов по стандартам RFC может, наоборот, все жутко запутать.
    Почему так? Существует множество способов сформировать адрес почты, который будет одновременно и корректным и бредовым. Отчасти это происходит из-за того, что некоторые почтовые службы в целях обратной совместимости позволяют представлять адреса в форматах, которые давно устарели. Например это электронная почта существовавшая до появления DNS и до появления современного формата user@domain.tld: тогда использовались UUCP ”bang path” — адреса, которые представляли собой список всех узлов по маршруту ответственных за доставку.

    Внутренности адреса почты

    Адрес e-mail выглядит так:
    mailbox@hostname
    Тут mailbox может быть локальным аккаунтом пользователя, аккаунтом роли или маршрутизатором автоматизированной системы такой, например, как список рассылки, а в качестве hostname может быть использован любой узел, если о нем известно DNS-серверу, к которому обращается почтовик при доставке.
    Кроме того, некоторые системы позволяют добавлять теги к адресу. Обычно это происходит в формате:
    mailbox+tag@hostname
    где тег и разделитель (обычно это “+”, но qmail использует “-” по-умолчанию, хотя может быть сконфигурирован и иначе) игнорируются при доставке. Обычно это используется для фильтрации почты по папкам и автоматизации, но может быть использовано и для разделения введенных адресов по получателям и выявления злоупотреблений персональными данными.
    Итак, в адресе в формате «mailbox@hostname», «mailbox» является пользовательским аккаунтом, приложением или аккаунтом системной роли, но может содержать и такие экстравагантные вещи, как информацию для дальнейшей маршрутизации или идентификаторы используемые для сортировки, автоматизации или отслеживания, а «hostname» — обычно доменное имя, но может являться и субдоменом, сервером, сервисом, ip-адресом или просто именем хоста.

    Корректные имена ящика с точки зрения RFC

    Специцификация одобряет довольно странные адреса, и было бы накладно поддерживать их все потому, что некоторые слишком сложны, и не слишком много людей обладают достаточными знаниями чтобы выделывать такие пируэты в нейминге. Поддержка таких адресов затруднит поддержку таких аккаунтов вашими сотрудниками, к тому же они почти никогда не используются в быту.
    Ящик может содержать пробелы. Насколько я помню, доинтернетовский AOL разрешал пробелы в «Imya Polzovatelya», которые использовались еще и как почтовые ящики с вырезанными оттуда пробелами: «imyapolzovatelya@aol.com», однако ж согласно RFC вы можете использовать двойные кавычки вокруг ящиков содержащих пробелы:
    “Alan Turing”@example.com < == Это корректно, но поддерживать не стоит Кстати говоря, по этой логике, ящик содержащий всего лишь пробел корректен: " "@example.com <== Это корректно, но смотри выше А вот еще один корректный адрес, он создан из допустимых для адреса символов: !#$%&'*+-/=?^_`{}|~@example.com <== Корректный адрес вряд ли достойный поддержки Кстати, проверяйте апострофы, апострофы должны поддерживаться: Miles.O'Brian@example.com <== Стоит поддерживать Апострофы не должны закавычиваться или эскейпиться, но когда вы сохраняете такие адреса в базу или передаете еще куда-то, убедитесь, что всё чики-пуки. В Википедии есть еще куча примеров. Нужна ли полная совместимость с RFC? Вам выбирать, но я не советую — пробелы и нестандартные символы в адресе довольно необычная штука и чаще всего являются просто опечаткой. Крупные e-mail провайдеры не разрешают использовать это примерно по тем же причинам; таким образом обычно достаточно дозволять буквы, цифры, точки, подчеркивания, дефисы, апострофы и плюсы.

    Регистрозависимые адреса

    Согласно RFC уникальность адреса определяется его регистрозависимой уникальностью, однако 99,9% провайдеров считают иначе и не позволяют регистрировать VasyaPetrov@example.com, если vasyapetrov@example.com уже зарегистрирован. Считайте, что имя почтового ящика регистронезависимо:
    ALLEN@example.com
    Allen@example.com
    allen@example.com
    Небольшая кучка систем использует полную проверку регистра, позволяя лишь адрес Allen@example.com и отбрасывая входящую корреспондецию всех остальных АлЛеНоВ, однако это не работает на практике, поскольку пользователь не привык различать регистр в адресах почты.
    Должны ли вы тут сохранять совместимость с RFC? Конвертируя адреса в нижний регистр перед сохранением вы можете доставить проблем небольшому количеству пользователей (вы не сможете посылать им письма), но отослав миллионы e-mail я столкнулся с этим всего несколько раз.
    Конвертация в адреса в нижний регистр является неплохой идеей в плане нормализации данных, так как домен всегда регистронезависим и должен быть в нижнем регистре. Если же вы решите сохранять адрес так, как он введен, добавьте поле, в котором будет хранить каноническую версию.

    Нестандартные символы

    Gmail тут отличился: в то время как стандарт включает в себя точку как стандартный символ, Gmail не делает различий между адресами ящиков с точками и без. Эти адреса указывают на один и тот же почтовый ящик:
    first.last@gmail.com
    firstlast@gmail.com
    f.i.r.s.t.l.a.s.t@gmail.com
    Обратите внимание, что Google Apps позволяет использовать Gmail на любом домене.
    Основная проблема здесь заключается в поиске адреса в базе в том виде, в котором он был изначально введен, что может доставить немало геморроя как пользователю, так и службе поддержки, а также и программистам с тестировщиками. Тут то вам и пригодится вторая, канонiческая форма адреса, но об этом позже.

    Расширенная форма названия ящиков с использованием тегов.

    Как было сказано выше, большинство систем доставки электронной почты (MTA), включая sendmail, Postfix, qmail, Yahoo Plus и Gmail поддерживают расширенное название ящика. Это позволяет пользователю, добавляя тег, сортировать письма. Это может позволить мне насоздавать кучу аккаунтов на одном сайте или в приложении:
    allen+one@example.com
    allen+two@example.com
    Но нужно ли вычищать теги из адреса ящика?
    НЕТ! Будьте дружелюбны к своим пользователям, и пользователи проникнутся верой, что вы не осуществите хищение и сбыт их персональных данных с целью наживы. Даже если вы пытаетесь запретить регистрацию дополнительных аккаунтов с существующим ящиком, представьте себе, насколько просто в наше время тупо зарегистрировать еще один ящик чтобы снова зарегистрироваться у вас — не сложнее создания алиаса или папки(но об алиасах, папках и тегах, наоборот, мало кто знает).
    Итак, еще раз. Создание второй, канонической, формы сохранения адреса в базе может неплохо прикрыть вашу за вас в случае неприятностей. Убедитесь, что вы ликвидировали из нее все теги, точки и т. д. и можете сравнивать с ней свежевведенные адреса.

    Юникод и интернационализированные имена ящиков

    Имена ящиков не поддерживают расширенные символы ASCII (8-bit) и символы Юникода. Это ограничение уходит своими корнями в спецификацию SMTP, во времена появления которого всего этого попросту не существовало; однако 8-битные значения, определенные локально, например из кодировок семейства ISO-8859-x, все-таки могут использоваться, но вы все равно никогда не узнаете, что же это за кодировка. Фактически, я видел 8-битные ящики только у спамеров.
    В конце концов, вы ведь храните ваши данные в UTF-8, так? Значит вы в любом случае не сможете перевести их обратно в ту локаль, которая была использована, если вы ее не знаете.

    Доменные имена

    У почтовых доменов те же самые ограничения как и в HTTP: они регистронезависимые, так что их следует нормализовывать в нижний регистр.
    Поддомены
    Некоторые адреса содержат ненужные поддомены: например, «email.msn.com» и «msn.com» являются одним и тем же почтовым доменом, кроме того, такие истории часто случаются в корпоративной среде (и это еще один хороший кандидат для каноникализации).
    Интернационализированные домены (IDN)
    IDN были созданы для того чтобы использовать местные символы Юникода в названиях доменов, кроме того, возможно создать домен и со специальными символами:
    postmaster@→→→→→→→.ws
    этот классно описывает круговорот воды в природе.
    Как и HTTP, SMTP поддерживает лишь 7-битную кодировку, и для того чтобы справиться с этим несчастьем IDN конвертируются в Punycode, что позволяет имени домена конвертироваться в представление Юникод и обратно:
    postmaster@xn--55gaaaaaa281gfaqg86dja792anqa.ws
    Очень жаль, но существует возможность фишинга при использовании IDN. Юникод содержит несколько разных экземпляров некоторых символов ASCII. Это позволяет злоумышленнику создать сайт, название которого выглядит точно также как и оригинал из-за того, что некоторые символы в названии совпадают внешне, но не внутренне.
    Это порождает несколько вопросов на которые следует ответить:
    Должны ли мы дозволять IDN-адреса? Можем ли мы обеспечить саппорт пользователей службой поддержки (откуда у саппорта, например, клавиатуры с китайскими иероглифами?) Должны ли мы сохранять их в Юникоде или Punycode? Если мы сохраняем каноничные адреса, то в какой кодировке это делать? Поддерживает ли вообще наш почтовик (MTA) IDN, и в какой форме он ждет адреса при отправке писем?
    IP Address syntax
    Использование IP-адресов допустимо:
    allen@[127.0.0.1]
    allen@[IPv6:0:0:1]
    Однако такие адреса выглядят подозрительно, и вряд ли им стоит доверять.

    Временные почтовые адреса

    Существует множество сервисов, которые предоставляют пользователям временные почтовые адреса. Обычно это используется для анонимности или для того чтобы регистрироваться на недоверенных сайтах.
    Даже такие сервисы как Hotmail и Yahoo предоставляют алиасы, которые могут быть использованы примерно тем же способом, то есть уничтожены через некоторое время. Не существует единой техники выявления таких адресов — в конце концов именно для этого они и предназначены. Они используют большущий набор доменных имен с постоянной ротацией для того чтобы быть на шаг впереди тех, кто пытается пресечь их деятельность.

    Белый список используемых возможностей

    Адреса электронной почты могут быть чудовищно сложными, но, навскидку, 99,99% (а может, и больше) придерживаются простых принципов, а остальные слишком утомительно поддерживать.
    Итак, вам вероятно следует воздержаться от поддержки адреса, если он содержит:
    Зависимость от регистра
    Пробелы
    Кавычки или Эскейп-символы
    Специальные символы кроме ‘._+-
    Айпишники в поле домена
    IDN
    Конечно, это может создать проблемы некоторым пользователям, но и в этом случае они скорее всего попытаются использовать какой-нибудь другой адрес, который подойдет. Кроме того, это позволит вашему саппорту более качественно оказывать поддержку вне зависимости от пользовательской локали.
    Еще я считаю, что вы должны поддерживать теги.
    Если это необходимо, вы можете создать еще одно поле в базе с каноническим адресом, даже если считаете, что всю эту RFC-шную совместимость стоит поддерживать. Адрес в таком поле может быть:
    Приведен в нижний регистр
    Быть без тегов
    Транскодирован из Юникода в ASCII
    Без дублирующихся поддоменов
    Несмотря на то, что этот совет может показаться слишком радикальным, это все равно лучше, чем слепо подчиняться стандартам. Как знать, может когда-нибудь такая упрощенная нотация станет новым стандартом?

  7. VideoAnswer Ответить

Добавить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *