2016-04-14 23 views
0

Ay, gün ve yıl için ayrı giriş alanlarına sahibim. Geçerli tarih normal ifadesi artık yılları içermez. Artık yılları hesaba katmak için başka bir regex eklemeyi denedim, ancak hiçbir başarı elde edemedim. Yardımınız için çok minnettarım.Geçtiğimiz yılları hesaba katmak için RegEx tarihimde neleri değiştirmem gerekiyor?

var bmonth = Apperyio('register_birthdaymonth').val(); 
var bday = Apperyio('register_birthdayday').val(); 
var byear = Apperyio('register_birthdayyear').val(); 
var dateString = (bmonth + "/" + bday + "/" + byear) 

var date_regex = /^(?:(0[1-9]|1[012])[\/.](0[1-9]|[12][0-9]|3[01])[\/.](18|19|20)[0-9]{2})$/; 
if (!(date_regex.test(dateString))) 
{ 
    errorMsg = errorMsg + "1"; 
    document.getElementById("bdayError").innerHTML = "Please enter your birthday."; 
} 
+0

hangi tarih girişi sizin için başarısız? –

+0

Artık yıllar doğru doğrulamıyor. Örnek: 02/29/1991 sağlar. – timmyusa

+0

Bir düzenli ifadeye mi ihtiyacınız var? Tarih nesnesini kullanabilirsiniz. Bunun gibi: http://jsbin.com/kamebibena/3/edit?js,console ,output Bu şekilde geçmişte tarihler oldukça kolay bir şekilde de olabilir. – John

cevap

0

Zaten buna baktın mı? Regular Expression | Leap Years and More

Değilse, aşağıdakileri deneyin: (02)[\/.]29[\/.](((18|19|20)(04|08|[2468][048]|[13579][26]))|2000)

+0

Geçerli regeximi sağladığınızla değiştirdiğimde beklenmedik bir çok hata aldım '/' Bu sorunu çözmek için nasıl giderim? – timmyusa

+0

Herhangi bir ek bilgi takdir edilmektedir. – timmyusa

İlgili konular