У меня есть одно поле Company profile
: текстовое поле
Если пользователь вводит любой электронный идентификатор в текстовое поле, сообщение об ошибке проверки должно отображать, что пользователь не может вводить электронные адреса в текстовое поле.
Я пробовал следующеекод:
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
.
Если пользователь вводит, скажем, hello..how are you
, он перенаправляет на addlistingpost.aspx, что также правильно.
Проблема возникает, когда пользователь вводит, скажем, hello test@gmail.com how are you
, он не выдает сообщение проверки при наличии emailid.в текстовом поле.Здесь я знаю, что он сравнивает только values[0]
, то есть hello
, а затем непосредственно переходит в другую часть.
Как этого добиться?