[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проверка имени, пароля и почты
quickxyan
нужно проверить на правильность введенные данные, написал пока без формы.
вобщем хочу чтоб посомтрели и дали замечания :)

вот код:



<?php
$name = "quickxyan";
$pass = "password";
$email = "qwerty@mail.ru";


$preg = preg_match("/^([A-z]+[A-z0-9_\-\.]*){3,16}$/",$name); //проверка name
if ($preg == 0)
{
echo "Неправильное имя";
}

$preg = preg_match("/^([A-z0-9_\-\.]+){8,16}$/",$pass); //проверка pass
if ($preg == 0)
{
echo "Неправильный пароль";
}

$preg = preg_match("/^([A-z]+[A-z0-9]*){3,16}@[A-z]{3,6}\.[A-z]{2,4}$/",$email); //проверка email
if ($preg == 0)
{
echo "Неправильный email";
}


?>







Спустя 10 минут, 52 секунды (18.01.2011 - 23:47) quickxyan написал(а):
переделал это выражение


$preg = preg_match("/^([A-z]+[A-z0-9_\-\.]*){3,16}$/",$name); //проверка name


в такое


$preg = preg_match("/^[A-z]+{1}([A-z0-9_\-\.]){2,15}$/",$name); //проверка name


вроде если вводишь больше 16 символов, то работает, но выдает предупреждение


Warning: preg_match() [function.preg-match]: Compilation failed: nothing to repeat at offset 9 in T:\home\localhost\papko\regular.php on line 7

Спустя 1 день, 5 минут, 11 секунд (19.01.2011 - 23:52) Dron19 написал(а):
$preg = preg_match("/^([A-z]+[A-z0-9_\-\.]*){3,16}$/",$name); //проверка name
зачем тут ([A-z]+[A-z0-9_\-\.]*) ? Проще написать так ([a-z0-9_\-\.]+)

Спустя 1 минута, 57 секунд (19.01.2011 - 23:54) Dron19 написал(а):
и Email можно проверить так

$preg = preg_match("/^[a-z0-9\._-]+@[0-9a-z\.-_]+\.[a-z]{2,4}$/i",$email); //проверка email

Так должно сработать

Спустя 44 минуты, 2 секунды (20.01.2011 - 00:38) ИНСИ написал(а):
quickxyan может так:
if(!preg_match("#^([a-Z0-9_\-\.]+){3,16}$#",$name)) echo 'Неправильное имя';
if(!preg_match("#^([a-Z0-9_\-\.]+){8,16}$#",$pass)) echo 'Неправильный пароль';
if(!preg_match("#^[a-zа-я0-9_\.-]+@([a-zа-я0-9]+\.)+[a-zа-я]{2,4}$#iu",$email)) echo 'Неправильный email';

Спустя 15 минут, 58 секунд (20.01.2011 - 00:54) Dron19 написал(а):
точно, я забыл русские символы поставить

Спустя 5 минут, 43 секунды (20.01.2011 - 01:00) inpost написал(а):
Тире не нужно экранизировать, в качестве хорошего тона его ставят в начале, чтобы не путался никто:
[-a-z\.]
А для русского, раз на то пошло, ещё Ё добавить =)


_____________
печатаю со скоростью 320 минут в знак...

плюсуем карму не стесняемся
Быстрый ответ:

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