2013-05-15 184 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>