如何检查用户的电子邮件地址是否以三个
结尾@ camel.com,@ mel.com,@ camelofegypt.com
这是我的代码到目前为止,它只是验证用户是否提供了任何文本
if ($.trim($("#email").val()).length === 0) {
alert('You must provide valid input');
return false;
我想在我的代码中实现电子邮件地址验证。
答案 0 :(得分:3)
使用以下正则表达式:
var reg=/@(camel|mel|camelofegypt)\.com$/
reg.test(email)
这仅在您通过上述三种方式之一发送电子邮件时才会生效。如果您不想了解常规电子邮件验证,请搜索网络。有很多
答案 1 :(得分:2)
如library to regular expressions所述,很难真正验证电子邮件地址。但是,以下网站上的内容将做得很好。
官方标准称为RFC 2822.它描述了有效电子邮件地址必须遵守的语法。您可以(但不应该 - 继续阅读)使用此正则表达式实现它:
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
简单正则表达式:
\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
验证电子邮件地址的权衡:
是的,我的宠物正则表达式中有很多电子邮件地址不匹配。最常引用的示例是.museum顶级域上的地址,这比我的正则表达式允许顶级域的4个字母长。我接受这种权衡,因为使用.museum电子邮件地址的人数非常少。我从未抱怨JGsoft网站上的订单或简报订阅表格拒绝了.museum地址(他们会使用上述正则表达式验证电子邮件地址)。
但是,如果您只是想要您的特定域,这肯定是可能的,但不建议拒绝电子邮件地址,因为它无法使用这些正则表达式。
\b[A-Z0-9._%+-]+@(camel|mel|camelofegypt)\.com\b
或强> 的
^[A-Z0-9._%+-]+@(camel|mel|camelofegypt)\.com$
这两个正则表达式之间的区别很简单,第一个正则表达式将匹配较长字符串中包含的电子邮件地址。虽然第二个正则表达式只匹配整个字符串是电子邮件地址。
JavaScript Regex:
/\b[A-Z0-9._%+-]+@(camel|mel|camelofegypt)\.com\b/i
或强> 的
/^[A-Z0-9._%+-]+@(camel|mel|camelofegypt)\.com$/i
特别提示:由于i
与John@CAMEL.com
相同,因此您可能会使用john@camel.com
参数对正则表达式不区分大小写。我在上面的正则表达式中已经完成了。
答案 2 :(得分:1)
function ValidateEmail(email) {
var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
或强>
这是一个正则表达式电子邮件验证比较,它将针对您在下面的textarea中提供的正则表达式测试一堆有效/无效的电子邮件地址。
^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$
答案 3 :(得分:0)
试试这个javascript
function IsEmail(email) {
var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
答案 4 :(得分:0)
尝试此功能,
function validateEmail($email) {
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if( !emailReg.test( $email ) ) {
return false;
} else {
return true;
}
}
if( !validateEmail(email)) { /* do stuff here */ }
答案 5 :(得分:0)
var x=$("#email").val();
var n=x.split("@");
if($.inArray(camel.com,n)!= -1)//checks if camel.com is there in your email address if not the value will be -1 @is not given in front of camel.com because its split after @ which means that @will be present before it if camel.com is prescent.
{
}
else
if($.inArray(mel.com,n)!= -1)
{}
else
if($.inArray(camelofegypth.com,n)!= -1)
{}
else
alert("");
答案 6 :(得分:0)
使用新的正则表达式
demo Here
添加了对Address tags(+号)
的支持function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
return pattern.test(emailAddress);
};
注意:Keep in mind that no 100% regex电子邮件检查存在