Проверка логина регулярным выражением

Печать / RSS
47


Дух
0
Написал код регистрации. Вот отрывок
$login = $_POST['login'];
$pass = $_POST['pass'];

if (!preg_match("/[a-z0-9]$/",$login)){exit ("Логин только из латинских букв в нижнем регистре и цифр.");}
if (empty($login)){exit ("Логин пустой.");}
if (strlen($login) <3 or strlen($login) >10){exit ("Логин должен быть от 3 до 10 символов.");}
if (!preg_match("/[a-z0-9]$/",$pass)){exit ("Пароль только из латинских букв в нижнем регистре и цифр.");}
if (empty($pass)){exit ("Пароль пустой.");}
if (strlen($pass) <5 or strlen($pass) >10){exit ("пароль должен быть от 5 до 10 символов.");}
. Почему в базу пишутся логины с большой и с маленькой буквы? Мне нужно только с маленькой

Добавлено через 05:16 сек.
Если в форму написать LOGIN то сработает ограничение. А если Login то спокойно пишет в базу
A

Пришелец
0
^[a-z0-9]$

Вроде начало и конец строки нужно указать
Д

Пришелец
0
/^[a-z0-9]*$/

Дух
0
спасибо

Веем холодом
0
/^[a-z0-9]{3,10}$/ и две другие проверки не нужны

Пацак
0
а вылетать в exit с ошибкой не слишком жёстко?

Дух
0
Не жестко. Это для особых целей

2000 лет д.н.э.
0
Это не просто жестко, это отталкивает посетителей, вводить с нуля каждый раз когда неверно ввел, дв ну его на фиг.
З.ы. пароль то зачем вообще ограничивать маской, ты его в чистом виде хранишь что ли?

Дух
0
А така я проверка норм? Больше ничего не нужно проверять?
if (!preg_match("/^[a-z0-9]{3,10}$/",$login)){$errorlogin = 'Логин только из латинских букв в нижнем регистре и цифр от 3 до 10 символов';}
if (!preg_match("/^[a-z0-9]{5,10}$/",$pass)){$errorpass = 'Пароль только из латинских букв в нижнем регистре и цифр от 5 до 10 символов';}

Добавлено через 01:49 сек.
ramzes, это я затупил) Пока не шифрую
Д

Пришелец
0
MaZaHaKeR, проверка на существование POST данных есть? Если да то ничего.
Для выполнения действия необходимо авторизоваться!
Стикеры / Теги / Правила / Топ тем / Топ тем / Поиск