Asp.net 正则表达式检查电子邮件是否有效以及是否包含多个字符

Asp.net 正则表达式检查电子邮件是否有效以及是否包含多个字符,asp.net,regex,validation,Asp.net,Regex,Validation,我正试图用这个正则表达式验证电子邮件地址。*@.*\..*我只是想知道如何更改它以同时检查字符串是否多于一个字符?您不需要使用正则表达式进行长度检查,只需使用字符串长度选项: string Email = "tom@tom.com"; // Regex checks here if(Email.Length > 1){ } 此外,我建议不要验证电子邮件地址。这非常复杂,更多信息请参见此问题: 您不需要使用正则表达式进行长度检查,只需使用字符串长度选项: string Email =

我正试图用这个正则表达式验证电子邮件地址。

*@.*\..*我只是想知道如何更改它以同时检查字符串是否多于一个字符?

您不需要使用正则表达式进行长度检查,只需使用字符串长度选项:

string Email = "tom@tom.com";

// Regex checks here

if(Email.Length > 1){

}
此外,我建议不要验证电子邮件地址。这非常复杂,更多信息请参见此问题:


您不需要使用正则表达式进行长度检查,只需使用字符串长度选项:

string Email = "tom@tom.com";

// Regex checks here

if(Email.Length > 1){

}
此外,我建议不要验证电子邮件地址。这非常复杂,更多信息请参见此问题:


用正则表达式验证电子邮件地址并非易事。请参阅和。

使用正则表达式验证电子邮件地址并非易事。请参见和。

+@.*.*.*.
也会执行此操作

+.*.*.*.
也会执行此操作

使用
+
说明符而不是
*.
来确保至少有一个字符:

.+@.+\..+

这实际上将确保至少有五个字符,因为你不能拥有一个少于五个字符的公共电子邮件地址。您可以进行更详细的检查(例如基于域名的最小长度和允许的字符),但这至少涵盖了最基本的要求。

使用
+
说明符,而不是
*
,以确保至少有一个字符:

.+@.+\..+

这实际上将确保至少有五个字符,因为你不能拥有一个少于五个字符的公共电子邮件地址。您可以进行更详细的检查(例如,基于域名的最小长度和允许的字符),但这至少涵盖了最基本的要求。

使用下面的电子邮件验证

function chkEmail(theField,msg)
{
        var a=theField.value;
        var reg_mail=(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+(\.[A-Za-z0-9]{2,3})(\.[A-Za-z0-9]{2,3})?$/);
        if((a.search(reg_mail)==-1))
          { 
            alert(msg);
            theField.focus();
            return false;            
          }
          return true;          
}
使用下面的长度

if(document.getElementById('id').value.length > 1)
{

}

使用下面的电子邮件验证

function chkEmail(theField,msg)
{
        var a=theField.value;
        var reg_mail=(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+(\.[A-Za-z0-9]{2,3})(\.[A-Za-z0-9]{2,3})?$/);
        if((a.search(reg_mail)==-1))
          { 
            alert(msg);
            theField.focus();
            return false;            
          }
          return true;          
}
使用下面的长度

if(document.getElementById('id').value.length > 1)
{

}

如果字符串必须包含
@
,那么它已经有2个字符了。是的,但是当我在asp正则表达式验证器中使用此表达式时,当字段为空时,它不会显示消息?如果字符串必须包含
@
,它已经有2个字符。是的,但是当我在asp正则表达式验证器中使用此表达式时,当字段为空时,它不会显示消息?您的正则表达式不匹配tld like
museum
info
您的正则表达式不匹配tld like
museum
info
使用此表达式时,我仍然没有收到错误消息在asp.net正则表达式验证程序控件中。该页面似乎无效,因为它不会发布,但如果我将其留空,则电子邮件字段旁边没有消息。如果我写一些类似“test”的东西,它与表达式不匹配,就会出现这种情况。@phil crowe:RegularExpressionValidator只在有数据的情况下验证数据。您还需要一个RequiredFieldValidator使空白值的验证失败。@phil-这正是为什么您应该始终准确地解释您试图做什么,以及什么不起作用的原因。这里的regex根本不是问题,另一个regex也不能解决您的问题。我试图尽可能避免使用requiredfield验证器,所以基本上您不能通过正则表达式来检查这一点@科比:我确实有更多的解释,但stack overflow一直说我可以在没有解释的情况下发布我的问题,有人建议把它放低。@phil crowe:没错,RegularExpressionValidator无法用于使字段成为必需字段。在asp.net正则表达式验证程序控件中使用它时,我仍然没有收到错误消息。该页面似乎无效,因为它不会发布,但如果我将其留空,则电子邮件字段旁边没有消息。如果我写一些类似“test”的东西,它与表达式不匹配,就会出现这种情况。@phil crowe:RegularExpressionValidator只在有数据的情况下验证数据。您还需要一个RequiredFieldValidator使空白值的验证失败。@phil-这正是为什么您应该始终准确地解释您试图做什么,以及什么不起作用的原因。这里的regex根本不是问题,另一个regex也不能解决您的问题。我试图尽可能避免使用requiredfield验证器,所以基本上您不能通过正则表达式来检查这一点@kobi我确实有更多的解释,但stack overflow一直说我可以在没有解释的情况下发布我的问题,有人建议将其简化。@phil crowe:没错,RegularExpressionValidator不能用于将字段设为必填字段。