【问题标题】:ASP.NET textbox and Regular expressionASP.NET 文本框和正则表达式
【发布时间】:2010-11-18 08:08:52
【问题描述】:

iam 在 javascript 函数中使用正则表达式来验证电子邮件。我正在使用 asp.net 自定义验证器调用 javascript 函数。电子邮件验证正在工作。当我单击文本框时,光标位于文本框的中间。如果文本框为空,它不会移动到文本的末尾或文本框的开头。你知道这个错误吗?

<asp:TextBox ID="txt_piEmail"  CssClass="txtbox" runat="server" Text=""></asp:TextBox>  

<asp:CustomValidator ID="custom_valPatientInfoEmail" Display="None" ErrorMessage="Email" runat="server" ControlToValidate="txt_piEmail" SetFocusOnError="true" ClientValidationFunction="validEmail">

.txtbox {
font-size: 11px;
height:15px;
font-weight: normal;
color: #333333;
line-height: 18px;
border: 1px solid #b8c6d1;

}

 function validEmail(src, args) {



     args.IsValid = true;

     var email = document.getElementById("<%=txt_piEmail.ClientID%>");

     var emailID = email.value;


     var message = "";
     var list;
     if (emailID.indexOf(';') > 0)
         list = emailID.split(';');
     else
         list = emailID.split(',');
     for (y = 0; y < list.length; y++) {
         if (trimString(list[y]) != '')
             if (echeck(trimString(list[y])) == false) {

                 args.IsValid = false;



             }
     }


     }



       function trimString(str) {
     //str = this != window? this : str;
     return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
 }

我可以使用正则表达式验证器。我没有正则表达式验证器的正则表达式。我想验证以下格式的电子邮件: 1. giri@hotmail.com - 电子邮件 ID 之间的尾随空格。 2.giri@hotmail.com - 没有尾随空格

【问题讨论】:

  • 请显示您的javascript函数的代码。另外,您为什么不为此使用 RegularExpressionValidator?
  • 能否把txtbox CSS类的代码贴出来。听起来你正在用那个类做这个。

标签: javascript asp.net regex


【解决方案1】:

您可能不想让自己头疼并使用“正则表达式验证器”

你会得到类似的东西:

<asp:TextBox ID="txt_piEmail"  CssClass="txtbox" runat="server" Text=""></asp:TextBox>  
<asp:asp:RegularExpressionValidator runat="server" id="regexVal" ControlToValidate="txt_piEmail" ValidationExpression="^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$" Display="None" ErrorMessage="Email" />

这将在 JAVASCRIPT 和服务器上进行验证(假设您对您的事件执行了某种 page.validate)。
您可以切换出实际的正则表达式,我只是将其从第一个谷歌结果中提取出来。
您可以在此处阅读更多信息:
http://msdn.microsoft.com/en-us/library/eahwtc9e.aspx

【讨论】:

    【解决方案2】:

    我将数据库中的电子邮件字段设置为 nchar。现在我将其更改为 varchar。它工作正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多