date-picker
sınıfı olarak tanımlanmış olan datepicker
var. Tarihin geçerli olup olmadığını kontrol etmek istiyorum, yani kullanıcı klavyeyle tarihi değiştirdiğinde, örneğin gün 31'den fazla veya ayın 12'den fazla girdiğinde bir hata vermesi gerekir. Bu isValidDate
işlevini yazdım ancak iyi çalışmıyor. Tarih okuyanlar için valid()
işlevinin bulunduğunu bir yerde okudum. datepicker valid() işlevi tarihin geçerli olup olmadığını kontrol etmek için
sen benim kodunda herhangi bir hata vermeyecektir gün bölümünde 44 eklerseniz
$(function() {
$(".date-picker").datepicker({
dateFormat: 'dd/mm/yy'
});
$(".date-picker").each(function() {
$(this).add($(this).next()).wrapAll('<div class="imageInputWrapper"></div>');
});
$('input:button').click(function(e) {
$("#fDate").removeClass("red");
var fromDate = $("#fDate").val();
if (!isValidDate(fromDate)) {
$("#fDate").addClass("red");
}
if (errors) e.preventDefault();
});
function isValidDate(date) {
var matches = /^(\d{2})[-\/](\d{2})[-\/](\d{4})$/.exec(date);
if (matches == null) return false;
var d = matches[2];
var m = matches[2];
var y = matches[3];
if (y > 2100 || y < 1900) return false; // accept only recent & not too far years
var composedDate = new Date(y, m, d);
return composedDate.getDate() == d && composedDate.getMonth() == m && composedDate.getFullYear() == y;
}
});
.imageInputWrapper {
width: 172px;
border: solid 1px white;
background-color: white;
display: flex;
align-items: center;
box-shadow: 0 2px 2px 0 #C2C2C2;
}
.red {
box-shadow: 0px 0px 2px 2px red;
}
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
<script src="https://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<form>
<input id="fDate" class="date-picker" type="text" name="fromDate" style="width: 130px; height: 41px; background-color: white; border: none; outline: none; margin-left:5px" />
<img src="http://s9.postimg.org/nl2mcq2rv/calendar.png" id="fromDateImgId">
<br/>
<input type="button" value="submit">
</table>
</form>
(bir numara olup olmadığını sorun kontrol etmek değil veya değil, ben bir sınır, günler ve aylar – reshad
'Date.parse öteye gitmez istiyorum) 'Tarih dizgisinin geçerli olup olmadığını kontrol edecek, sadece sayısal kontrol için değil. 'Date.parse (" 44/04/2016 ") // -> NaN ' ' Date.parse ("01/04/2016") // -> 1451840400000' – hitamu