gpt4 book ai didi

c# - 如何验证文本框不接受 emailid

转载 作者:太空宇宙 更新时间:2023-11-03 19:40:59 24 4
gpt4 key购买 nike

我有一个字段公司简介:文本框

如果用户在文本框中输入任何电子邮件 ID,验证错误消息应显示用户无法在文本框中输入电子邮件 ID。

我试过下面的代码:

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

如果用户只输入 test@gmail.com,它会给出验证消息说你不能在正确的文本框中输入 emailid,并保留在 addlisting.aspx 页面。

如果用户输入 say hello..how are you,它会重定向到同样正确的 addlistingpost.aspx。

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

如何实现?

最佳答案

您使用的正则表达式匹配字符串的开头 (^) 和结尾 ($)。

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

只需删除这些字符以匹配行内的任何位置。

([\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));

它输出True

顺便说一句,这是一个几乎符合 RFC 5322 规范的正则表达式:

(?:[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])+)\])

关于c# - 如何验证文本框不接受 emailid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53409070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com