我的网站需要用户登录。客户端将只允许来自其公司域的用户获得访问权限。我需要根据电子邮件域地址验证该字段。即。只允许来自@ mycompany.com的电子邮件地址通过。
可以使用jquery.validate插件完成吗?我知道你可以在哪里查看它是否是有效的电子邮件,但我想确保它与特定模式匹配(@ mycompany.com)。
任何帮助将不胜感激!
答案 0 :(得分: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;
}
答案 1 :(得分: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(yourName@uol.edu.pk)");
return false;
}
}
else
{
return false;
}
}
enter code here