Валидация адреса электронной почты

Александр Коблов подкинул ссылку на RFC’шное регулярное выражение для валидации email’ов. Знаю, что баян, но доставляет немало радости. (?:(?:rn)?[ t])*(?:(?:(?:[^()@,;:\».[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[«()@,;:\».[]]))|»(?:[^»r\]|\.|(?:(?:rn)?[ t]))*»(?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:\».[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[«()@,;:\».[]]))|»(?:[^»r\]|\.|(?:(?:rn)?[ t]))*»(?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t])*(?:[^()@,;:\».[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[«()@,;:\».[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:\».[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[«()@,;:\».[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*))*|(?:[^()@,;:\».[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[«()@,;:\».[]]))|»(?:[^»r\]|\.|(?:(?:rn)?[ t]))*»(?:(?:rn)?[ t])*)*(?:(?:rn)?[ t])*)|(?:[^()@,;:\».[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[«()@,;:\».[]]))|»(?:[^»r\]|\.|(?:(?:rn)?[ t]))*»(?:(?:rn)?[ t])*)*:(?:(?:rn)?[ t])*(?:(?:(?:[^()@,;:\».[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[«()@,;:\».[]]))|»(?:[^»r\]|\.|(?:(?:rn)?[ t]))*»(?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:\».[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[«()@,;:\».[]]))|»(?:[^»r\]|\.|(?:(?:rn)?[ t]))*»(?:(?:rn)?[ …

Continue reading ‘Валидация адреса электронной почты’ »