|
|
|
| вот нужна в принципе простая проверка логина, т.е. чтоб были только буквы латинские, дефис, подчеркивание, цифры
да и мыло тоже. вообще вот такя бяка, поначалу вроде работала а щас нифига:
if (!ereg($email, "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$")) {
header('Location: index.php?id=no_email');
exit;
}
|
ну вот как это сделать? | |
|
|
|
|
|
|
|
для: lagu
(13.08.2007 в 22:50)
| | Требуется именно POSIX-регулярное выражение или Perl-регулярное выражение тоже подойдёт? Дело в том, что POSIX-регулярные выражения будут исключены из ядра PHP в версии 6. | |
|
|
|
|
|
|
|
для: cheops
(13.08.2007 в 22:55)
| | да мне бы хоть как-нибудь)) просто ваабще туплю по страшному в этом вопросе... уже 3 дня и 3 ночи не въехать... все дело стоит...
я так понимаю preg_match тогда будет, я не против! =)
тока как?? скажите пожалуста - УМОЛЯЮ!!!
:0) | |
|
|
|
|
|
|
|
для: lagu
(13.08.2007 в 22:50)
| | Проверить логин можно при помощи следующего выражения
<?php
if(!preg_match("|^[-a-z0-9_]+$|i", $login)) exit("Логин содержит недопустимые символы");
?>
|
e-mail можно проерить так
<?php
if (!preg_match("/^[-0-9a-z_\.]+@[-0-9a-z^\.]+\.[a-z]{2,6}$/i", $email))
exit("Введите e-mail в виде <i>something@server.com</i>");
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(14.08.2007 в 10:30)
| | Регулярное выражение типа:
<?php
if (!preg_match("/^[-0-9a-z_\.]+@[-0-9a-z^\.]+\.[a-z]{2,6}$/i", $email))
exit("Введите e-mail в виде <i>something@server.com</i>");
?>
|
пропустит и -something@server.com и _something@server.com
Такие адреса бывают? | |
|
|
|
|
|
|
|
для: ZeeG
(14.08.2007 в 11:26)
| | Бывают. | |
|
|
|
|
|
|
|
для: Trianon
(14.08.2007 в 12:32)
| | И начинаются они именно с - или _ ? Я конечно не спец, но все-таки ни разу не видел таких имен? | |
|
|
|
|
|
|
|
для: ZeeG
(14.08.2007 в 12:38)
| | А Вам бы хотелось такое имя? :) | |
|
|
|
|
|
|
|
для: Unkind
(14.08.2007 в 13:08)
| | Мне? | |
|
|
|
|
|
|
|
для: ZeeG
(14.08.2007 в 13:09)
| | Да, Вам. Чтобы с "_" начиналось. | |
|
|
|
|
|
|
|
для: Unkind
(14.08.2007 в 13:12)
| | Да речь и про то что нет. Я и говорю, что НЕТ таких имен, и что выражение выше выпускает его из виду!!!!! | |
|
|
|
|
|
|
|
для: ZeeG
(14.08.2007 в 13:16)
| | Такие имена есть.
А то, что Ваш скрипт будет их блокировать, будет проблемой пользователей Вашего скрипта.
Я вот ни разу не видел Австралию ... живьем. И писем мне оттуда никто не писал.
Но почему-то у меня не возникает сомнения, что она есть. | |
|
|
|
|
|
|
|
для: ZeeG
(14.08.2007 в 13:16)
| | Я и говорю, что НЕТ таких имен
Есть. Я Вам намекал, что просто это некрасивые имена. Мало кто их использует, но отсюда не следует, что таких имен нет и уж тем более запрещены. | |
|
|
|
|
|
|
|
для: Unkind
(14.08.2007 в 13:44)
| | Да Вы были правы test@i.am моя фун-я не считала верным. Поправил
<?php
function email($mail)
{
$sym ="\!\@\#\$\%\^\&\*\(\)\+\=\s\,\.\<\>\?\/\{\}\[\]\;\'";
$pattern = "/^[^".$sym."]*(\w+([\-\.]?))*[\w+]?([^".$sym."])@[^".$sym."\-\_]*((\w+(\-\.?))*\w+)+\.[\w\-\.]+[^".$sym."]$/i";
if(!preg_match($pattern,$mail)){
return false;
}
return true;
}
?>
|
Как сейчас?
PS Я потому и спрашиваю оценки т.к. второй день с regex | |
|
|
|
|
|
|
|
для: ZeeG
(14.08.2007 в 13:53)
| | Так никто ничего не скажет? | |
|
|
|
|
|
|
|
для: ZeeG
(14.08.2007 в 21:06)
| | Зачем Вы пытаетесь их фильтровать? | |
|
|
|
|
|
|
|
для: Trianon
(14.08.2007 в 21:28)
| | Мне казалось что так будет правильно | |
|
|
|