2010-04-13 3 views
2

У меня есть сайт, для которого потребуется логин для пользователей. Для получения доступа клиент будет использовать только пользователей из домена своей компании. Мне нужно проверить это поле на основе адреса домена электронной почты. то есть. разрешайте только адреса электронной почты с @ mycompany.com.Проверка поля электронной почты на основе определенного домена

Это можно сделать с помощью jquery.validate плагина? Я вижу, где вы можете проверить, действительно ли это действительное электронное письмо, но я хотел бы убедиться, что он соответствует определенному шаблону (@ mycompany.com).

Любая помощь будет оценена!

ответ

3

Просто используйте JQuery проверки, и сделать сравнение строк для проверки , что письмо заканчивается с ожидаемой области.

Таким образом, вы знаете, что письмо вернулось, и - это необходимый домен.

Вот возможный метод проверки домена. Это не требует jQuery.

/** 
* Checks that the user's email is of the correct domain. 
* 
* userInput: potential email address 
* domain: Correct domain with @, i.e.: "@mycompany.com" 
* Returns: true iff userInput ends with the given domain. 
*/ 
function checkDomain(userInput, domain) { 
     // Check the substring starting at the @ against the domain 
     return (userInput.substring(userInput.indexOf('@')) === domain; 
} 
+0

Благодаря Бен, Я новичок в JQuery. Есть ли у вас рекомендации по написанию кода сравнения? Благодаря! –

+0

Я добавил функцию, которая делает то, что я описываю, используя простой javascript. –

+0

На самом деле должно быть return userInput.substring (userInput.indexOf ('@')) === domain; У вас было слишком много закрытий. –

0
In this example my domain is "@uol.edu.pk". You can do it like this. 


    $(document).ready(function (e) { 
       $('#SubmitButton').click(function() { 
        var email = $('#form-email').val(); 
        // Checking Empty Fields 
        if ($.trim(email).length == 0 || $("#form-first-name").val() == "" || $("#form-password").val() == "" || $("#Password1").val()=="") { 
         alert('All fields are Required'); 
         e.preventDefault(); 
        } 
        if (validateEmail(email)) { 
         alert('Good!! your Email is valid'); 
        } 
        else { 
         alert('Invalid Email Address'); 
         e.preventDefault(); 
        } 
       }); 
      }); 
      // Function that validates email address through a regular expression. 
      function validateEmail(pEmail) { 
       var filterValue = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/; 
       if (filterValue.test(pEmail)) { 
        if (pEmail.indexOf('@uol.edu.pk', pEmail.length - '@uol.edu.pk'.length) != -1) 
        { 
         return true; 
        } 
        else { 
         alert("Email Must be like([email protected])"); 
         return false; 
        } 
       } 
       else 
       { 
        return false; 
       } 
      } 
    enter code here 
Смежные вопросы