2013-05-15 161 views
1

我想驗證我的文本框接受學年作爲格式輸入 YYYY-YY。如何爲此編寫正則表達式驗證/ jQuery客戶端驗證功能?Jquery功能驗證

function parseDate() { 
    alert("yeah"); 
    var sAcadYearName = document 
      .getElementById('<%= txtAcademicYearName.ClientID%>'); 
    var m = sAcadYearName.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/); 
    return (m) ? new Date(m[3], m[2] - 1, m[1]) : null; 
} 
+0

你使用任何驗證插件? –

+0

@Arun nope我不是。 – MusicLovingIndianGirl

+1

在這種情況下,你需要去進行基於正則表達式的驗證 –

回答

1

試試這個代碼

<input id="txtdob" type="text"/> 

<asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server" ForeColor="Red" 
         ControlToValidate="txtdob" ValidationGroup="check" ErrorMessage="Date format in YYYY-YY" 
         ValidationExpression="^([0-9]{4})[.--]+([0-9]{2})$"></asp:RegularExpressionValidator> 

Eidt:

只要改變和嘗試

<input id="txtdob" runat="server" type="text" /> 

      <asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server" ForeColor="Red" 
       ControlToValidate="txtdob" ValidationGroup="check" ErrorMessage="Date format in YYYY-YY" 
       ValidationExpression="^([0-9]{4})[./-]+([0-9]{2})$"></asp:RegularExpressionValidator> 
      <asp:Button runat="server" ValidationGroup="check" /> 
     </div> 

或者添加此行,其中你的代碼!

var m = sAcadYearName.match(^([0-9]{4})[./-]+([0-9]{2})$); 

這就像驗證爲:

2013/14或2013-14

+0

謝謝。請檢查我的解決方案.. – MusicLovingIndianGirl

+0

它是客戶端驗證!如果你使用這個代碼,頁面不會刷新。看到我的編輯代碼 –

+1

是的,非常感謝。 – MusicLovingIndianGirl

0

可以在jQuery的

創建一個自定義日期驗證

SEE HERE

0
function parseDate(str) { 
    var m = str.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/); 
    return (m) ? new Date(m[3], m[2]-1, m[1]) : null; 
} 
3

這取決於你想多麼複雜去,如果你只是想驗證號碼可以很簡單

\d\d\d\d-\d\d 

如果你想要在19X以內X-YY或20XX-YY然後

(\b19|\b20)\d\d-\d\d 

如果您需要更具體的規則(例如, 1981-99),你需要編寫一些自定義JavaScript來執行驗證。

+1

@cherhan給你歡呼,你救了我的一天。它的工作原理...感謝一堆:) – MusicLovingIndianGirl

0

這裏是我的解決方案,我添加了一個普通ecpression驗證我的文本框,如下所示。

<asp:RegularExpressionValidator id="txtAcademicYearName_RegularExpressionValidator2" runat="server" ControlToValidate="txtAcademicYearName" ErrorMessage="Enter year in format YYYY-YY" ValidationExpression="(\b19|\b20)\d\d-\d\d" ForeColor="Red" Display="None" ValidationGroup="AcademicYear"></asp:RegularExpressionValidator>