Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как проверить email средствами js
 
 автор: beowulf   (17.10.2005 в 19:00)   письмо автору
 
 

Подскажите, как в js проверить валидность адреса эл.почты при помощи регулярных выражений ?

   
 
 автор: elenaki   (17.10.2005 в 19:52)   письмо автору
 
   для: beowulf   (17.10.2005 в 19:00)
 


function validateEmailv2(email)
{
// a very simple email validation checking. 
// you can add more complex email checking if it helps 
    if(email.length <= 0)
    {
      return true;
    }
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
        var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
        if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}

   
 
 автор: codexomega   (19.10.2005 в 07:36)   письмо автору
 
   для: elenaki   (17.10.2005 в 19:52)
 

Можно и проще:

function validateEmail(email) {
    //Validating the email field
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    if (! email.match(re)) {
        return (false);
    }
    return(true);
}

   
 
 автор: coloboc66   (27.10.2005 в 16:17)   письмо автору
 
   для: codexomega   (19.10.2005 в 07:36)
 

Да вот не работает этот код чего-то- функция возвращает false на любой емайл.

   
 
 автор: codexomega   (27.10.2005 в 17:43)   письмо автору
 
   для: coloboc66   (27.10.2005 в 16:17)
 

Первый - нет, нет работает как надо.
А второй - сам проверял, работает.

Вот код для формы:


<script language="JavaScript">

 function validateEmail(email) {
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    if (! email.match(re)) {
        return (false);
    }
    return(true);
}

function checkFields()
{
    // проверка имени
    if (document.form1.name.value.length<1)
            alert("Укажите правильное имя!");
        else if(!validateEmail(document.form1.email.value))
            alert("Укажите правильный Email!");
        else if(document.form1.message.value.length<10)
            alert("Введите текст сообщения!");
    else
    {
        document.form1.submit();
    }
}
</script>

   
 
 автор: coloboc66   (27.10.2005 в 17:51)   письмо автору
 
   для: codexomega   (27.10.2005 в 17:43)
 

Странно- компы у всех одинаковые по сути...

   
 
 автор: codexomega   (27.10.2005 в 18:17)   письмо автору
 
   для: coloboc66   (27.10.2005 в 17:51)
 

Последнее сообщение вы написали до того как я успел код валидации страницы воткнуть.

   
 
 автор: coloboc66   (28.10.2005 в 09:31)   письмо автору
 
   для: codexomega   (27.10.2005 в 18:17)
 

Да, теперь все работает, единственное, про что нужно не забыть тем, кто этот код будет использовать: использовать надо не кнопку submit, а кнопку button с обработчиком события onclick="checkFields()" Иначе код работает некорректно. Я помучился, пока понял, в чем дело...

   
 
 автор: Lat1n0S   (21.02.2006 в 01:53)   письмо автору
 
   для: coloboc66   (28.10.2005 в 09:31)
 

~ m/^[^\W_][\w\-\.]{1,16}[^\W_]@[^\W_][\w\-\.]{2,127}[^\W_]\.[a-z]{2,4}$/ig
Вот поменьше )

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования