Просмотр полной версии : Проверка е-мэйла
Привет у меня есть форма типа :
Логин
Почта
Пароль
Подтверждение пароля
сопсна вопрос, как сделать так чтоб проверялось правильность ввода мыла ... то есть щас чел может нажать войти и ничего не вводить а нужно чтоб проверялось что в поле е-мэйл было введено например @
if(!preg_match('/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i', $email)) {
exit('Вы неверно заполнили поле e-mail.');
}
вот полная форма куда вставить нужно?
<div class="simplePage">
<form method="post" name="login" id="login" action="ap.php">
<table align="center" cellpadding=0 cellspacing=7 border=0 width="40%">
<tr>
<td><span class="grey"><b>Логин:</span> </td>
<td><input type="text" class="inputText" size="25" maxlength="15" /></td>
</tr>
<tr>
<td width="100px">
<span class="grey"><b>E-mail:</span>
</td>
<td>
<input class="inputText" type="text" name="login" value="" id="email" size="25" />
<td>
</tr>
<tr>
<td>
<span class="grey"><b>Пароль:</span>
</td>
<td>
<input class="inputText" type="password" name="pass" value="" id="pass" size="25" />
</td>
</tr>
<tr>
<td><span class="grey"><b>Пароль ещё раз:</span> </td>
<td><input type="text" class="inputText" size="25" maxlength="15" /></td>
</tr>
<tr>
<td>
</td>
<td><ul class="nNav">
<li>
<div align="left"><b class="nc"><b class="nc1"><b></b></b><b class="nc2"><b></b></b></b> <span class="ncc"><a href="javascript:document.login.submit()"reg0="reg0""><b>Зарегистрироваться</a></span> <b class="nc"><b class="nc2"><b></b></b><b class="nc1"><b></b></b></b> </div>
</li>
</ul>
</td>
</tr>
<tr>
<td> </td>
<td class="forgotPass"> </td>
</tr>
</table>
<input type="submit" value="." style="color:#fff;border:0;padding:0;margin:0;background: #fff;height:6px;width:6px"/>
</form>
</div>
<html>
<form name="form1" method="post" action="">
<input name="preg" type="text" id="preg">
<input type="submit" name="Submit" value="check">
</form>
</html>
<?
$text=$_POST['preg'];
if(preg_match("/^[a-z0-9]+@[a-z]+(.ru|.com|.net)/i", $text)) {
echo "ок. Все введено";
} else {
echo "чезана***";
}
?>
Я на сайте вообще сделал Фофч проверку кода
1)удобно если юзер вводит спец символы вылазит окошечко и говорит что они зпрещены и т д
2)Сделал проверку на сущесвование логина
Я долго искал что то подобное вот нашел
Качай _http://rapidshare.com/files/346836323/formValidator.zip.html
потом закидуеш папку на локалхост и открываеш и смотриш на примерах как оно работает - потом просто подставляеш переменные в свой скрипт и вуаля.
Если что пиши помогу
Compton
А если мыло будет не в зоне (.ru|.com|.net) ?
Да и вообще зачем регулярка?
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
b3
пусть так будет
"/^[a-z0-9]+@[a-z]+\.[a-z0-9]/i"
пусть тс выберет,как ему нравится
Compton, e-mail может содержать и точку, и подчеркивание. Кроме того, домен может быть больше, чем второго уровня, и может содержать тире.
vasya_pupkin@home.vasya.ru - не пройдет. Да и твоя регулярка пропустит нечто типа
ololo@a.ru[любые_символы]
Более верно (хотя и не лишено недостатков - позволяет ввести несколько тире подряд в домене):
/^[a-z0-9_]+(\.[a-z0-9_]+)*@[0-9a-z]{1}[\-0-9a-z]*(\.[0-9a-z]{1}[\-0-9a-z]*)*\.[a-z]{2,4}/i
Тут возникает вопрос - "зачем?" если есть filter_var() с ключем FILTER_VALIDATE_EMAIL, зачем составлять сложные неидеальные регекспы, рискуя недопустить к регистрации пользователя. Не утверждаю что FILTER_VALIDATE_EMAIL идеален, но полагаюсь на девелоперов РНР (=
<?php
var_dump(filter_var('antichat@example.com', FILTER_VALIDATE_EMAIL));
?>
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot