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 に答える