我想验证我的文本框,该文本框接受学年作为格式的输入 的 YYYY-YY 即可。如何为此编写正则表达式验证/ 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 :(得分:3)
这取决于你想要的复杂程度,如果你只想验证数字,它可以像
一样简单\d\d\d\d-\d\d
如果你想在19XX-YY或20XX-YY之内,那么
(\b19|\b20)\d\d-\d\d
如果您需要更具体的规则(例如1981-99),您需要编写一些自定义javascripts来执行验证。
答案 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
答案 2 :(得分:0)
您可以在jQuery中创建自定义日期验证器
答案 3 :(得分: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;
}
答案 4 :(得分:0)
结帐this jQuery validation plugin。它有演示,以及许多过滤表单字段输入的方法。享受!
答案 5 :(得分:0)
你可以在这里链接这是一个很好的例子 http://www.regular-expressions.info/dates.html
或者您也可以查看此链接
答案 6 :(得分:0)
这是我的解决方案,我为我的文本框添加了一个正则表达式验证器,如此。
<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>