Как сделать чтобы при регистрации проверялась правильность вводимого t-mail адреса, т.е. ячтобы проверял наличие "@" и
".ru"?
Вид для печати
Как сделать чтобы при регистрации проверялась правильность вводимого t-mail адреса, т.е. ячтобы проверял наличие "@" и
".ru"?
Код:<script language="javascript">
****function validate() {
*var realname = simpleForm.realname.value,
*****email = simpleForm.email.value,
*****errorMsg = "",
*****errorDetected = false;
*****
*if(!isEmailAddressValid(email)) {
*****if(errorMsg.length > 0)
*****errorMsg +="\n";
*****errorMsg += "E-mail адрес введен не корректно";
*****errorDetected = true;
*}
*if(errorDetected)
*****alert(errorMsg);
*****
*return !errorDetected;
****}
****function isEmailAddressValid(s) {
*var atSign = new RegExp(".*(@).*");
****return atSign.test(s);
****}
</script>
<body>
<form name="simpleForm" onSubmit="return validate()">
<input name="email" type="text" size="50">
<input name="send" type="submit" value="Отправить данные">
</form>
</body>
Хех... ))
Код:function sendform() {
if (document.mainform.mail.value != "") {
var rightmail = new RegExp("[0-9a-z_-]+@[0-9a-z_^.-]+\\.[a-z]", 'i');
var email = eval('document.mainform.mail');
if (!rightmail.test(email.value)) {
alert('Указан некорректный адрес E-Mail.\nПожалуйста, исправьте ошибку.');
document.mainform.mail.focus();
return false; }}
return true; }
"[0-9a-z_-]+@[0-9a-z_^.-]+\\.[a-z]"
а там в конце плюсик не надо добавить, т.е. не так случаем:
"[0-9a-z_-]+@[0-9a-z_^.-]+\\.[a-z]+"
И почему два слеша?
[/quote]Цитата:
Originally posted by Xepec@Apr 28 2007, 12:35
а там в конце плюсик не надо добавить, т.е. не так случаем:
"[0-9a-z_-]+@[0-9a-z_^.-]+\\.[a-z]+"
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]
А зачем? Что там еще Вы хотите прибавить?
[/quote]Цитата:
Originally posted by Xepec@Apr 28 2007, 12:35
И почему два слеша?
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]
Потому что первый слэш экранирует второй слэш...
Второй слеш из-за javы получается?
т.е. в обычном регэкспе "\."="." а "\\."="\(любой знак к которому нужен одно из {} . + ?)"
А в конце плюсик, чтобы он целиком выражение брал. Еще можно добавить "$" и "^". (т.е. "^[0-9a-z_-]+@[0-9a-z_^.-]+\\.[a-z]+$") Иначе имхо может пройти такой адресок:
"сорок тысяч обезьян a@a.a в попу сунули банан".
И кстати, разве в домене второго уровня нельзя использовать "-"?
Если уж по полной программе:
(/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i)