【问题标题】:Jquery Function for validation用于验证的 Jquery 函数
【发布时间】:2013-05-15 15:08:15
【问题描述】:

我想验证我的文本框,它接受学年作为格式的输入 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;
}

【问题讨论】:

  • 你在使用任何验证插件吗?
  • 在这种情况下,您需要进行基于正则表达式的验证
  • 是的,我这样做了,但表达式 /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/ 没有不行……
  • 你能分享你所做的代码吗
  • 函数 parseDate() { alert("yeah"); var sAcadYearName = document.getElementById(''); var m = sAcadYearName.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);返回(米)?新日期(m[3],m[2] - 1,m[1]):空; }

标签: jquery


【解决方案1】:

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

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

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

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

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

【讨论】:

  • 为你干杯@cherhan,你拯救了我的一天。它有效......非常感谢:)
【解决方案2】:

试试这个代码

 <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

【讨论】:

  • 这是客户端验证!如果您使用此代码,页面不会刷新。查看我的编辑代码
  • 没关系。快乐编码!
【解决方案3】:

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

SEE HERE

【讨论】:

    【解决方案4】:
    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;
    }
    

    【讨论】:

      【解决方案5】:

      查看this jQuery validation plugin。它有演示,还有很多过滤表单字段输入的方法。享受吧!

      【讨论】:

      • 谢谢哥们,请检查我的解决方案。
      【解决方案6】:

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

      或者您也可以查看此链接

      RegEx to match M/YYYY, MM/YYYY , M/YY or MM/YY format

      【讨论】:

      • 谢谢哥们,请检查我的解决方案。
      【解决方案7】:

      这是我的解决方案,我已经为我的文本框添加了一个常规的 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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-16
        • 2017-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-21
        相关资源
        最近更新 更多