我是新手,刚学这门技术。老师布置一个作业,就是验证邮箱名的。要完全的。明确@和.这个符号。还有好多注意事项。比如@后部能紧跟点。要substrings这样指令。最后验证正确后还要输出用户名(就是@前面的那些)  希望各位大虾指导下我。

解决方案 »

  1.   

    ASP.NET 有相关验证的属性啊,就在属性框那的! 你自己找找!
      

  2.   

    神马意思?要用substring,不能用正则?那只能用indexof之类的string类方法处理了。
      

  3.   


          Dim Value As String = RhTextBox1.Text
            '判断是否有【@】【.】
            If Value.IndexOf("@") < 0 OrElse Value.IndexOf(".") < 0 Then
                MessageBox.Show("格式错误")
            End If
            '判断最后【@】后面是否有【.】
            If Value.Substring(Value.LastIndexOf("@") + 1, Value.Length - Value.LastIndexOf("@") - 1).IndexOf(".") < 0 Then
                MessageBox.Show("格式错误")
           End If
            '判断最后【@】和【.】之间的有没值
            If Value.Substring(Value.LastIndexOf("@") + 1, Value.LastIndexOf(".") - Value.LastIndexOf("@") - 1).Length = 0 Then
                MessageBox.Show("格式错误")
            End If
            '判断最后【.】后面是否有值
            If Value.LastIndexOf(".") + 1 = Value.Length Then
                MessageBox.Show("格式错误")
            End If
    不知道是不是你想要的。这是用vb.net写的。
      

  4.   


    string mail_address = tb_mailaddress.Text.Trim();            //特殊字符不可用
                char[] e_char = { '~','!','`','#','$','%','^','&','*','(',')','-','+','=','[',']','{','}'
                    ,';',':','"','|','\'','\\','<','>',',','/','?'};
                try
                {
                    if (mail_address.IndexOfAny(e_char)>=0)
                    {
                        MessageBox.Show("地址不能包含非法字符","错误");
                        return;
                    }                //判断是否有@和.,而且@的位置不能在.之后
                    if (mail_address.IndexOf('@')<=0 || mail_address.IndexOf('.')<=0)
                    {
                        MessageBox.Show("错误的e-mail地址","错误");
                        return;
                    }
                    if (mail_address.IndexOf('@')>=mail_address.IndexOf('.'))
                    {
                        MessageBox.Show("错误的地址格式","错误");
                    }
                }
                catch (Exception ex)
                {
                    
                    throw ex;
                }
    大体上就是这个意思。还需要根据具体的需求添加判断。
    这个没有处理汉字比如:123@服务器.后缀
      

  5.   

    能看懂一点点用visual studio C#  是那种代码啊
      

  6.   


    if (mail_address.IndexOf("@.")>=0)
                    {
                        MessageBox.Show("@之后不能直接跟.","错误");
                    }
      

  7.   


    string mail_address = tb_mailaddress.Text.Trim();            //特殊字符不可用
                char[] e_char = { '~','!','`','#','$','%','^','&','*','(',')','-','+','=','[',']','{','}',';',':','"','|','\'','\\','<','>',',','/','?'};
                try
                {
                    if (mail_address.IndexOfAny(e_char)>=0)
                    {
                        MessageBox.Show("地址不能包含非法字符","错误");
                        return;
                    }                //判断是否有@和.,而且@的位置不能在.之后
                    if (mail_address.IndexOf('@')<=0 || mail_address.IndexOf('.')<=0)
                    {
                        MessageBox.Show("错误的e-mail地址","错误");
                        return;
                    }
                    if (mail_address.IndexOf('@')>=mail_address.IndexOf('.'))
                    {
                        MessageBox.Show("错误的地址格式","错误");
                    }                if (mail_address.IndexOf("@.")>=0)
                    {
                        MessageBox.Show("@之后不能直接跟.","错误");
                    }
                    //如果验证成功
                    string str_u_name;
                    str_u_name = mail_address.Substring(0,mail_address.IndexOf('@'));
                }
                catch (Exception ex)
                {
                    
                    throw ex;
                }