1

I would like to validate my textbox which accepts Academic Year as input in the format YYYY-YY. How do I write a regular expression validation/ jquery client validation function for this?

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;
}
4

7 回答 7

3

这取决于你想去多复杂,如果你只是想验证数字,它可以很简单

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

如果你想在 19XX-YY 或 20XX-YY 之内,那么

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

如果您需要更具体的规则(例如 1981-99)并且您需要编写一些自定义 javascript 来执行验证。

于 2013-05-15T05:08:16.420 回答
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>

开斋节:

只需更改并尝试一下

<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

于 2013-05-15T05:21:36.157 回答
0

您可以在 jQuery 中创建自定义日期验证器

看这里

于 2013-05-15T04:59:47.703 回答
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;
}
于 2013-05-15T05:00:27.217 回答
0

查看这个 jQuery 验证插件。它有演示,还有很多过滤表单字段输入的方法。享受!

于 2013-05-15T05:00:34.593 回答
0

你可以去这个链接这里是一个很好的例子 http://www.regular-expressions.info/dates.html

或者您也可以查看此链接

正则表达式匹配 M/YYYY、MM/YYYY、M/YY 或 MM/YY 格式

于 2013-05-15T05:00:54.923 回答
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>
于 2013-05-15T05:24:36.957 回答