[英]How can I validate an email address from a specific domain?
我有这段代码可以验证电子邮件输入。 我的问题是,我希望我的表格仅接受一个特定的域。 例如,test @ thisdomainonly.com。 我不知道该怎么做。 这是我到目前为止的内容:
function validateEmail(email)
{
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;
}
修改您的函数,您将使用如下代码:
function validateEmail(email)
{
var splitted = email.match("^(.+)@thisdomainonly\.com$");
if (splitted == null) return false;
if (splitted[1] != null)
{
var regexp_user = /^\"?[\w-_\.]*\"?$/;
if (splitted[1].match(regexp_user) == null) return false;
return true;
}
return false;
}
但是更有效的版本是:
function validateEmail(email){
return /^\"?[\w-_\.]*\"?@thisdomainonly\.com$/.test(email);
}
简单的indexOf检查如何:
function checkEmail(email, domainName){
if(email.indexOf(domainName) > 0)
if((email.indexOf(domainName) + domainName.length) == email.length){
//do regex checking if any
return true;
}
alert('Please enter a valid email for : '+ domainName)
return false;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.