对于"年份"有任何正则表达式吗?

时间:2015-06-07 12:33:52

标签: javascript regex

我希望在JavaScript中有一年的正则表达式。例如,我想检查文本框输入是 2008-2015 。我的意思是有一个"破折号"两年之间。这是什么正则表达式?

以下任何一种表达方式均无效!

/^\d{4}-\d{4}$/; 

/^(\d{4})-(\d{4})$/;

/^\d{4}\-\d{4}$/;

/^\d{4}\\-\d{4}$/;

我希望在该表达式中使用OR。我的意思是它支持 2008-2015或2012 ^\d{4}$)。

编辑: 我的js代码是:

function validateYear() {
        var dob_courseYear = document.getElementById(<%=txt_courseYear.ClientID%>").value;

        //pattern = /^\d{4}-\d{4}$/; //^\d{4}$
        //pattern = /^(\d{4})-(\d{4})$/;
        //pattern = /^\d{4}\\-\d{4}$/;
        //pattern = /^\d{4}(-\d{4})?$/;
        pattern = /^\d{4}(?:-\d{4})?$/m;
        if (dob_courseYear == null || dob_courseYear == "" || !pattern.test(dob_courseYear)) {
            errMessage += "Year is incorrect...\n";
        }
    }

我尝试了你所有的建议。但没有工作,并提醒我错误消息!!!!!!!!!!

2 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

/^\d{4}(-\d{4})?$/

请参阅DEMO

答案 1 :(得分:1)

  

我希望在该表达式中使用OR。我的意思是它支持2008-2015或2012(^ \ d {4} $)。

只需将第二部分设为可选。

/^\d{4}(?:-\d{4})?$/m;