我希望在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";
}
}
我尝试了你所有的建议。但没有工作,并提醒我错误消息!!!!!!!!!!
答案 0 :(得分:2)
答案 1 :(得分:1)
我希望在该表达式中使用OR。我的意思是它支持2008-2015或2012(^ \ d {4} $)。
只需将第二部分设为可选。
/^\d{4}(?:-\d{4})?$/m;