這個正則表達式有什麼問題?它不會工作正則表達式的日期
var patt = /[0-9]{2}/[0-9]{2}/[1-9]{4}/;
if(patt.test(document.getElementById('date').value) == false){
document.getElementById("errorTxt").innerHTML = "Error";
return false;
}
這個正則表達式有什麼問題?它不會工作正則表達式的日期
var patt = /[0-9]{2}/[0-9]{2}/[1-9]{4}/;
if(patt.test(document.getElementById('date').value) == false){
document.getElementById("errorTxt").innerHTML = "Error";
return false;
}
你需要在中間轉義/
。
var patt = /\d\d\/\d\d\/\d{4}/;
另外,你爲什麼不讓2012年成爲有效的一年?
這將匹配「91/72/9123」。看起來像OP接受: - ? –
您需要在模式中間轉義/
。讓他們\/
。
正則表達式中使用斜線,因此必須轉義:
var patt = /[0-9]{2}\/[0-9]{2}\/[1-9]{4}/;
在一個相關的說明,您可以使用\ d來表示任何數字:
var patt = /\d{2}\/\d{2}\/\d{4}/;
,又怎麼能您匹配的年份爲2012
與[1-9]{4}
,當0
在yyyy
?
使用正則表達式/\d{2}\/\d{2}\/\d{4}/
可以拆分日期的數字,但是......
您應該使用JavaScript Date Validation代替。
「這不起作用」太模糊了,說明有用。請說明你期望它做什麼與實際行爲。 –
不知道不JS嚮導,但是這看起來將採取的日期,如91/72/9123爲有效和2001年10月2日爲無效(你甚至不容許在一年0)。有[這裏]看看(http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html),爲什麼正則表達式可能不是最好的出路這個的。 –
你不關心日期驗證,請更正: - ? –