[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: check_mail
XCross
Первый раз использую регулярное выражение. Столкнулся с проблемой. Если ввести адрес типа: kmaks-mail@gmail.com, то совпадения, конечно же, не будет. Как можно проверить?

support.php


.......
if (empty($_GET['mail'])){

$errors[]=$lang['empty_email'];

}


else{

if(!check_mail($_GET['mail'])){

$errors[]='Неверный формат e-mail!';

}

}

........







regular.php
<?php

function
check_mail($str){

if(!preg_match ("/^[a-z0-9]{1,}@[a-z0-9]{1,}[.][a-z]{1,}$/", $str)){

$out=false;

}

else{

$out=true;

}

return $out;

}
?>




Спустя 6 минут, 43 секунды (27.04.2011 - 14:56) inpost написал(а):
kmaks
Добавь в регулярку недостающий знак! Совпадение из-за какого не проходит? Подсказываю, он добавляется самым первым smile.gif

Спустя 1 минута, 7 секунд (27.04.2011 - 14:57) XCross написал(а):
"-"

Я знаю sad.gif ...но как?

[-a-z0-9] Правильно?

Спустя 2 минуты, 26 секунд (27.04.2011 - 14:59) inpost написал(а):
kmaks
если нужен тире, то да!

Спустя 3 минуты, 44 секунды (27.04.2011 - 15:03) XCross написал(а):
если нужен тире, то да!


Скасибо, inpost.

Работает и kmaks-mail@gmail.ru, и kmaks@gmail.ru


Спустя 4 минуты, 57 секунд (27.04.2011 - 15:08) Ulan написал(а):
а kmaks_mail@gmail.ru не работает tongue.gif
и kmaks_mail@gmail.com.ua
и еще вроде точка может быть в имени.
и заглавные буквы могут быть

Спустя 1 минута, 8 секунд (27.04.2011 - 15:09) XCross написал(а):
хм...как быть? учитывать все?

ohmy.gif

Спустя 10 минут, 16 секунд (27.04.2011 - 15:19) Ulan написал(а):
ну да
у меня мыло, например, Ulan_am
по хорошему нужно спецификацию читать, каким может быть мыло

Спустя 4 минуты, 24 секунды (27.04.2011 - 15:24) killer8080 написал(а):
типа такого
"/^([a-z0-9!#$%&*+-=?^_`{|}~]+(\.[a-z0-9!#$%&*+-=?^_`{|}~]+)*)@(([-a-z0-9]+\.)+([a-z]{2,6}))$/ix"

Спустя 4 минуты, 34 секунды (27.04.2011 - 15:28) inpost написал(а):
[-_\.a-z0-9] - это ты включил точку и подчеркивание.
модификатор i - независимо от регистра символов, то есть и большие и маленькие.

Спустя 1 минута, 20 секунд (27.04.2011 - 15:30) XCross написал(а):

Спустя 23 часа, 56 минут, 46 секунд (28.04.2011 - 15:26) Metatron написал(а):
Цитата (kmaks @ 27.04.2011 - 16:09)
хм...как быть? учитывать все?


В любов своём приложении надо учитывать абсолютно всё. Все дыры и все пробоины, иначе проект не будет востребован и его поломают сразу же)

Цитата (killer8080 @ 27.04.2011 - 16:24)
типа такого
"/^([a-z0-9!#$%&*+-=?^_`{|}~]+(\.[a-z0-9!#$%&*+-=?^_`{|}~]+)*)@(([-a-z0-9]+\.)+([a-z]{2,6}))$/ix"

Оу.. А зачем тут символы !#$%&*+=?^`{|}~ ??????
Цитата (kmaks @ 27.04.2011 - 16:30)
http://php.spb.ru/other/mail.txt


Это самая идеальная регулярка) конечно можно проверять мыло и без регулярки, а программно. Ибо регулярные выражения не идеальны в проверке мыла( Например вдруг домен будет шестого уровня))))))))) А вдруг там бесконечная численность уровней)))))))))
Всё это желательно предусматривать) Ну конечно может хватить и 4 уровней, ибо больше уровней я не видал)

Спустя 22 часа, 32 минуты, 50 секунд (29.04.2011 - 13:59) killer8080 написал(а):
Цитата (Metatron @ 28.04.2011 - 14:26)
Оу.. А зачем тут символы !#$%&*+=?^`{|}~ ??????

Локальная часть может содержать символы алфавита, цифры и символы !, #, $, %, &, ', *, +, -, /, =, ?, ^, _, `, {, |, } ~, возможно разделенные точкой внутри, но не в начале адреса, не в конце или не рядом с другой разделяющей точкой (RFC 2822 3.2.4).

Спустя 8 минут, 34 секунды (29.04.2011 - 14:08) Arni написал(а):
Эх ребята ребята. Зацените фичу :).


filter_var($mail, FILTER_VALIDATE_EMAIL)

Спустя 11 минут, 31 секунда (29.04.2011 - 14:19) waldicom написал(а):
Цитата (Arni @ 29.04.2011 - 12:08)
Эх ребята ребята. Зацените фичу smile.gif.

Прикольная фича, если не учитывать версию php

Спустя 51 минута, 34 секунды (29.04.2011 - 15:11) Arni написал(а):
5.2 сняли с поддержки + опубликовали кучу багов и уязвимостей которые фиксить не будут. На данный момент уже почти все хостеры дали поддержку 5.3.х. Надо смотреть вперед. Если создавать что-то новое, то зачем будоражить прошлое? Разве чтобы вспомнить об ошибках молодости smile.gif .

А потому filter_var($mail, FILTER_VALIDATE_EMAIL), это крутая фича и точка. Нравится регулярить, и наблюдать в коде абракатыбры плиз.

Спустя 12 минут, 38 секунд (29.04.2011 - 15:24) killer8080 написал(а):
Цитата (Arni @ 29.04.2011 - 14:11)
5.2 сняли с поддержки + опубликовали кучу багов и уязвимостей которые фиксить не будут. На данный момент уже почти все хостеры дали поддержку 5.3.х.

К сожалению не все хостеры об этом знают, ил просто игнорируют unsure.gif

Спустя 36 минут, 50 секунд (29.04.2011 - 16:00) Arni написал(а):
Цитата (killer8080 @ 29.04.2011 - 12:24)
Цитата (Arni @ 29.04.2011 - 14:11)
5.2 сняли с поддержки + опубликовали кучу багов и уязвимостей которые фиксить не будут. На данный момент уже почти все хостеры дали поддержку 5.3.х.

К сожалению не все хостеры об этом знают, ил просто игнорируют unsure.gif

Конкретно пример пожалуйста. Даже такой упертый хостер как masterhost дал поддержку 5.3.

Спустя 16 минут, 4 секунды (29.04.2011 - 16:16) killer8080 написал(а):
Цитата (Arni @ 29.04.2011 - 15:00)
Конкретно пример пожалуйста.

например mirohost.net PHP Version 5.2.6-1

Спустя 1 час, 44 минуты, 14 секунд (29.04.2011 - 18:01) Arni написал(а):
http://php.net/manual/ru/function.filter-var.php

А нужен (PHP 5 >= 5.2.0). И потому, filter_var форева smile.gif


killer8080 ,написал в поддержку mirohost, реально нету 5.3. Лузеры ... smile.gif.

Цитата

> Уважаемый mirohost, я занимаюсь разработкой сайтов, и мой клиент выбрал вас в качестве своего хостинг-провайдера. Но к сожалению я не обнаружил у вас поддержки php 5.3.x. Ну или плохо смотрел. Уточните пожалуйста, есть ли у вас возможность предоставить эту версию, потому как останется вариант заказать акаунд на masterhost. Что для проекта терпимо, но не очень приемлемо.

У нас php5.3 не поддерживается.

================
С уважением,

Ярослав Сидорук,
системный администратор

Хостинг-провайдер MIROHOST.net
support@mirohost.net
+380 44 2010102
http://www.mirohost.net



_____________
Обмен Ukash на WebMoney
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.