簡體   English   中英

ASP.NET文本框和正則表達式

[英]ASP.NET textbox and Regular expression

iam在javascript函數中使用正則表達式來驗證電子郵件。 IAM使用asp.net自定義驗證器調用javascriptfunction。 電子郵件驗證有效。 當我單擊文本框時,光標位於文本框的中間。 如果文本框為空,則不會移動到文本結尾或文本框開頭。 您對此錯誤有任何想法嗎?

<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-不帶空格

您可能想讓自己不頭痛,並使用“正則表達式驗證器”

然后,您將得到類似:

<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)。
您可以切換出實際的正則表達式,我只是從第一個Google結果中提取了它。
你可以在這里讀更多關於它的內容:
http://msdn.microsoft.com/zh-CN/library/eahwtc9e.aspx

我將數據庫中的電子郵件字段設置為nchar。 現在我將其更改為varchar。 工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM