C# 如何验证textbox不接受EmailID

C# 如何验证textbox不接受EmailID,c#,asp.net,validation,C#,Asp.net,Validation,我有一个字段公司简介:textbox 如果用户在textbox中输入任何emailid,则validation errormessage应显示用户无法在textbox中输入emailid 我尝试了以下代码: Regex regex = new Regex(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"); string[] values

我有一个字段
公司简介
:textbox

如果用户在textbox中输入任何emailid,则validation errormessage应显示用户无法在textbox中输入emailid

我尝试了以下代码:

Regex regex = new Regex(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");

string[] values = commentstxt.Text.Trim().Split(' ');
for (int i = 0; i < values.Length; i++)
{
    bool isValid = regex.IsMatch(values[i].ToString().Trim());
    if (isValid)
    {
        //ScriptManager.RegisterStartupScript(this, this.GetType(), "CropImage", "alert('you can not enter email id.');", true);
        //break;
        Response.Write("<script language='javascript'>window.alert('you can not enter email id in company profile.');window.location='addlisting.aspx';</script>");
        break;
    }
    else
    {
        Server.Transfer("addlistingpost.aspx", true);
    }
}
Regex Regex=new Regex(@“^([\w-\.]+)@(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.\”)([\w-]+\)([a-zA-Z]{2,4}.[0-9]{1,3}.(\]?)$”;
字符串[]值=commentstxt.Text.Trim().Split(“”);
for(int i=0;i
如果用户仅输入
test@gmail.com
,它会给出一条验证消息,说明您无法在文本框中输入正确的emailid,并停留在
addlisting.aspx
页面中

如果用户输入say
hello..how you
,它将重定向到addlistingpost.aspx,这也是正确的

当用户输入say
hello时就会出现问题test@gmail.com您好
,它不会抛出验证消息,因为文本框中存在emailid。我知道这里只比较
值[0]
,也就是
hello
,然后直接进入else部分


如何实现这一点?

您需要扫描所有阵列,直到找到任何错误。有点

Regex regex = new Regex(    @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
string[] values = commentstxt.Text.Trim().Split(' ');
bool isValid = true; // valid word == not email
for (int i = 0; i < values.Length && isValid; i++)
{
    bool isValid = !regex.IsMatch(values[i].ToString().Trim());
    if (!isValid)
    {
        //ScriptManager.RegisterStartupScript(this, this.GetType(), "CropImage", "alert('you can not enter email id.');", true);

        Response.Write("<script language='javascript'>window.alert('you can not enter email id in company profile.');window.location='addlisting.aspx';</script>");

    }
}
if (isValid)
{
    Server.Transfer("addlistingpost.aspx", true);
}
Regex Regex=new Regex(@“^([\w-\.]+)@(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.\”)([\w-]+\)([a-zA-Z]{2,4}.[0-9]{1,3}.(\]?)$”;
字符串[]值=commentstxt.Text.Trim().Split(“”);
bool isValid=true;//有效单词==非电子邮件
对于(int i=0;i
您需要扫描所有阵列,直到找到任何错误。有点

Regex regex = new Regex(    @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
string[] values = commentstxt.Text.Trim().Split(' ');
bool isValid = true; // valid word == not email
for (int i = 0; i < values.Length && isValid; i++)
{
    bool isValid = !regex.IsMatch(values[i].ToString().Trim());
    if (!isValid)
    {
        //ScriptManager.RegisterStartupScript(this, this.GetType(), "CropImage", "alert('you can not enter email id.');", true);

        Response.Write("<script language='javascript'>window.alert('you can not enter email id in company profile.');window.location='addlisting.aspx';</script>");

    }
}
if (isValid)
{
    Server.Transfer("addlistingpost.aspx", true);
}
Regex Regex=new Regex(@“^([\w-\.]+)@(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.\”)([\w-]+\)([a-zA-Z]{2,4}.[0-9]{1,3}.(\]?)$”;
字符串[]值=commentstxt.Text.Trim().Split(“”);
bool isValid=true;//有效单词==非电子邮件
对于(int i=0;i
Regex Regex=newregex(@“^([\w-\.]+)@(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.\)([\w-]+)([a-zA-Z]{2,4}.[0-9]{1,3})(\]?)$”;
字符串[]值=commentstxt.Text.Trim().Split(“”);
bool isValid=false;
for(int i=0;i
Regex Regex=newregex(@“^([\w-\.]+)@(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.\)([\w-]+)([a-zA-Z]{2,4}.[0-9]{1,3})(\]?)$”;
字符串[]值=commentstxt.Text.Trim().Split(“”);
bool isValid=false;
for(int i=0;i
您能试试这样的方法,看看效果如何吗

Regex regex = new Regex(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
    string[] values = commentstxt.Text.Trim().Split(' ');
    bool hasEmail = false;
    foreach (string str in values)
    {
        bool isCurrentValid = regex.IsMatch(str.Trim());
        if (!isValid)
        {
            hasEmail = false;
        } else {
            hasEmail = true;
            break;
        }
    }

    if(hasEmail) {
        Server.Transfer("addlistingpost.aspx", true);
    } 
    else 
    { 
        Response.Write("<script language='javascript'>window.alert('you can not enter email id in company profile.');window.location='addlisting.aspx';</script>");
    }  
Regex Regex=new Regex(@“^([\w-\.]+)@(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.\”)([\w-]+\)([a-zA-Z]{2,4}.[0-9]{1,3}.(\]?)$”;
字符串[]值=commentstxt.Text.Trim().Split(“”);
bool hasEmail=false;
foreach(值中的字符串str)
{
bool isCurrentValid=regex.IsMatch(str.Trim());
如果(!isValid)
{
hasEmail=false;
}否则{
hasEmail=true;
打破
}
}
如果(电子邮件){
Server.Transfer(“addlistingpost.aspx”,true);
} 
其他的
{ 
Response.Write(“window.alert('您不能在公司简介中输入电子邮件id');window.location='addlisting.aspx';”;
}  

我基本上没有检查循环中的整个字符串的逻辑。

您能试试这样的方法,看看是否有效吗

Regex regex = new Regex(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
    string[] values = commentstxt.Text.Trim().Split(' ');
    bool hasEmail = false;
    foreach (string str in values)
    {
        bool isCurrentValid = regex.IsMatch(str.Trim());
        if (!isValid)
        {
            hasEmail = false;
        } else {
            hasEmail = true;
            break;
        }
    }

    if(hasEmail) {
        Server.Transfer("addlistingpost.aspx", true);
    } 
    else 
    { 
        Response.Write("<script language='javascript'>window.alert('you can not enter email id in company profile.');window.location='addlisting.aspx';</script>");
    }  
Regex Regex=new Regex(@“^([\w-\.]+)@((\[
([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)
Regex regex = new Regex(@"([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)");
string text = "hello test@gmail.com how are you";
Console.WriteLine(regex.IsMatch(text));
(?:[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])+)\])