1

How would I check that a user's email address ends in on of the three

@camel.com, @mel.com, @camelofegypt.com

This is my code so far, it just validates whether or not the user has provided any text

if ($.trim($("#email").val()).length === 0) {
alert('You must provide valid input');
return false;

I want to implement the email address validation into my code.

4

7 回答 7

3

使用以下正则表达式:

var reg=/@(camel|mel|camelofegypt)\.com$/
 reg.test(email)

这仅验证您的电子邮件是否以上述三个之一结尾。如果您想了解一般的电子邮件验证,请搜索网络。有很多这样的

于 2013-08-08T05:27:48.650 回答
2

正如正则表达式库中所述,很难真正验证电子邮件地址。但是,从上述网站获取的以下内容会做得很好。

官方标准称为 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 正则表达式:

/\b[A-Z0-9._%+-]+@(camel|mel|camelofegypt)\.com\b/i

或者:

/^[A-Z0-9._%+-]+@(camel|mel|camelofegypt)\.com$/i

i特别注意:您应该允许使用参数的正则表达式不区分大小写,因为John@CAMEL.comjohn@camel.com. 我在上面的正则表达式中做了什么。

于 2013-08-08T05:30:13.317 回答
1
function ValidateEmail(email) {
 var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  return regex.test(email);
}

或者

这是一个正则表达式电子邮件验证比较,它将根据您在下面的文本区域中提供的正则表达式测试一堆有效/无效的电子邮件地址。

^((([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])))\.?$
于 2013-08-08T06:08:20.987 回答
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);
}
于 2013-08-08T05:32:01.067 回答
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 */ }
于 2013-08-08T05:35:35.940 回答
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("");
于 2013-08-08T05:35:37.673 回答
0

使用新的正则表达式

演示在这里

添加了对地址标签(+ 号)的支持

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);
};

注意:请记住,不存在 100% 正则表达式 电子邮件检查

于 2013-08-08T05:38:38.660 回答