0

用于测试 mm/yyyy 的简单 RegExp 适用于所有在线 RegExp 测试人员,但不适用于我的网站。

var re=new RegExp("^(1[0-2]|0[1-9]|\d)\/(20\d{2}|19\d{2}|0(?!0)\d|[1-9]\d)$");
if(!re.test(theForm.ceDate.value)) alert("Date must be MM/YYYY");

任何帮助将不胜感激。

4

2 回答 2

4

您的字符串文字正在吞噬\转义符。

相反,您应该使用正则表达式文字:/(1[0-2]|0[1-9]|\d)\/(20\d{2}|19\d{2}|0(?!0)\d|[1-9]\d)$/

于 2012-04-19T16:28:47.760 回答
0

JavaScript

function Validation() {
    debugger;
    var reg = new RegExp('^(0[1-9]|1(1|2)|[0-9])\\/(20[0-9]{2}|19[0-9]{2})$');
    var txt = document.getElementById('<%= txt.ClientID %>');
    if (txt.value.match(reg) != null)
        return true;
    else
        return false;
}

标记

<asp:LinkButton runat="server" ID="lnkSubmit" Text="Submit" 
                                 OnClientClick="return Validation();" />
<asp:TextBox ID="txt" runat="server"></asp:TextBox>
于 2012-04-19T16:53:21.960 回答