<head>
<script src="App_Script/jquery-1.8.3.js" type="text/javascript"></script>
<script src="App_Script/DateCalc.js" type="text/javascript"></script>
</head>
<body>
<asp:TextBox ID="txtfrom" runat="server" onchange="fnFutureDate(this,txtto)"></asp:TextBox> <asp:TextBox ID="txtto" runat="server" Enabled="False" ForeColor="Black"></asp:TextBox>
</body>
/*
--Date Calculations--
--Function Included to age based on the date of birth--
--obj1 and obj2 are the text-boxes--
--value from obj1(textbox1) is considered and the result is thrown to obj2(textbox2)--
Note: this can be used with basic jquery file with version 1.8.3 or later
*/
--Functions is included to check a valid date in formats:dd/mm/yyyy and dd-mm-yyyy--
function IsValidDate(obj1) {
if ($(obj1).val() !== '') {
var date = $(obj1).val().toString();
if ((date.indexOf('-') > 0 || date.indexOf('/') > 0) && (date.indexOf('--') < 0) && (date.indexOf('//') < 0)) {
var sep;
if (date.indexOf('-') > 0) {
sep = '-';
} else if (date.indexOf('/') > 0) {
sep = '/';
}
if (fnCheckDate(date, sep)) {
return true;
} else {
return false;
}
} else {
alert('Please enter a valid date with "\dd-mm-yyyy" or "dd/mm/yyyy"');
}
}
}
function fnCheckDate(date, sep) {
var vals = date.split(sep);
if (vals.length == 3) {
var dt = parseInt(vals[0], null);
var mon = parseInt(vals[1], null);
var year = parseInt(vals[2], null);
var Months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
if (dt > 0) {
if (year > 0 && year > 1899) {
if (year.toString().length == 4) {
if ((mon > 0 && mon < 13)) {
var leap;
if (year % 4 === 0) {
leap = true;
} else {
leap = false;
}
if (mon === 2) {
if (year % 4 === 0) {
if (dt <= 29) {
return true;
} else {
alert('invalid date');
}
} else {
if (dt <= 28) {
return true;
} else {
alert('invalid date');
return false;
}
}
} else if (mon == 1 || mon == 3 || mon == 5 || mon == 8 || mon == 10 || mon == 12) {
if (dt <= 31) {
return true;
} else {
alert('invalid date');
return false;
}
} else if (mon == 4 || mon == 6 || mon == 7 || mon == 9 || mon == 11) {
if (dt <= 30) {
return true;
} else {
alert('invalid date');
return false;
}
}
} else {
alert('Please enter a month from 01 to 12');
return false;
}
} else {
alert('Please enter year in YYYY format');
return false;
}
} else {
alert('Please enter year from 1900 and YYYY format');
return false;
}
} else {
alert('Please enter a valid date');
return false;
}
} else {
alert('Please enter a valid date with dd-mm-yyyy or dd/mm/yyyy');
return false;
}
}
--Function Included to calculate a date after 1 year--
function fnFutureDate(obj1, obj2) {
if (IsValidDate(obj1)) {
var date = $(obj1).val().toString();
var sep;
if (date.indexOf('-') > 0) {
sep = '-';
} else if (date.indexOf('/') > 0) {
sep = '/';
}
var vals = date.split(sep);
var dt = vals[0];
var mn = vals[1];
var yr = vals[2];
var fdt, fmn, fyr;
fyr = parseInt(yr, null) + 1;
var ddt = parseInt(dt, null) - 1;
if (ddt > 0) {
fdt = ddt;
fmn = mn;
} else if (ddt === 0) {
var dmt = parseInt(mn, null);
if (dmt === 1) {
fmn = 12;
fdt = 31;
fyr = fyr - 1;
} else if (dmt === 2 || dmt === 4 || dmt === 6 || dmt === 9 || dmt === 11) {
fmn = dmt - 1;
fdt = 31;
} else if (dmt == 3) {
fmn = dmt - 1;
if (fyr % 4 === 0) {
fdt = 29;
} else {
fdt = 28;
}
} else if (dmt === 5 || dmt === 7 || dmt === 8 || dmt === 10 || dmt === 12) {
fmn = dmt - 1;
fdt = 30;
}
}
if (fmn.toString().length < 2) {
fmn = '0' + fmn;
}
if (fdt.toString().length < 2) {
fdt = '0' + fdt;
}
$(obj2).val(fdt + sep + fmn + sep + fyr);
}
}
<script src="App_Script/jquery-1.8.3.js" type="text/javascript"></script>
<script src="App_Script/DateCalc.js" type="text/javascript"></script>
</head>
<body>
<asp:TextBox ID="txtfrom" runat="server" onchange="fnFutureDate(this,txtto)"></asp:TextBox> <asp:TextBox ID="txtto" runat="server" Enabled="False" ForeColor="Black"></asp:TextBox>
</body>
/*
--Date Calculations--
--Function Included to age based on the date of birth--
--obj1 and obj2 are the text-boxes--
--value from obj1(textbox1) is considered and the result is thrown to obj2(textbox2)--
Note: this can be used with basic jquery file with version 1.8.3 or later
*/
--Functions is included to check a valid date in formats:dd/mm/yyyy and dd-mm-yyyy--
function IsValidDate(obj1) {
if ($(obj1).val() !== '') {
var date = $(obj1).val().toString();
if ((date.indexOf('-') > 0 || date.indexOf('/') > 0) && (date.indexOf('--') < 0) && (date.indexOf('//') < 0)) {
var sep;
if (date.indexOf('-') > 0) {
sep = '-';
} else if (date.indexOf('/') > 0) {
sep = '/';
}
if (fnCheckDate(date, sep)) {
return true;
} else {
return false;
}
} else {
alert('Please enter a valid date with "\dd-mm-yyyy" or "dd/mm/yyyy"');
}
}
}
function fnCheckDate(date, sep) {
var vals = date.split(sep);
if (vals.length == 3) {
var dt = parseInt(vals[0], null);
var mon = parseInt(vals[1], null);
var year = parseInt(vals[2], null);
var Months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
if (dt > 0) {
if (year > 0 && year > 1899) {
if (year.toString().length == 4) {
if ((mon > 0 && mon < 13)) {
var leap;
if (year % 4 === 0) {
leap = true;
} else {
leap = false;
}
if (mon === 2) {
if (year % 4 === 0) {
if (dt <= 29) {
return true;
} else {
alert('invalid date');
}
} else {
if (dt <= 28) {
return true;
} else {
alert('invalid date');
return false;
}
}
} else if (mon == 1 || mon == 3 || mon == 5 || mon == 8 || mon == 10 || mon == 12) {
if (dt <= 31) {
return true;
} else {
alert('invalid date');
return false;
}
} else if (mon == 4 || mon == 6 || mon == 7 || mon == 9 || mon == 11) {
if (dt <= 30) {
return true;
} else {
alert('invalid date');
return false;
}
}
} else {
alert('Please enter a month from 01 to 12');
return false;
}
} else {
alert('Please enter year in YYYY format');
return false;
}
} else {
alert('Please enter year from 1900 and YYYY format');
return false;
}
} else {
alert('Please enter a valid date');
return false;
}
} else {
alert('Please enter a valid date with dd-mm-yyyy or dd/mm/yyyy');
return false;
}
}
--Function Included to calculate a date after 1 year--
function fnFutureDate(obj1, obj2) {
if (IsValidDate(obj1)) {
var date = $(obj1).val().toString();
var sep;
if (date.indexOf('-') > 0) {
sep = '-';
} else if (date.indexOf('/') > 0) {
sep = '/';
}
var vals = date.split(sep);
var dt = vals[0];
var mn = vals[1];
var yr = vals[2];
var fdt, fmn, fyr;
fyr = parseInt(yr, null) + 1;
var ddt = parseInt(dt, null) - 1;
if (ddt > 0) {
fdt = ddt;
fmn = mn;
} else if (ddt === 0) {
var dmt = parseInt(mn, null);
if (dmt === 1) {
fmn = 12;
fdt = 31;
fyr = fyr - 1;
} else if (dmt === 2 || dmt === 4 || dmt === 6 || dmt === 9 || dmt === 11) {
fmn = dmt - 1;
fdt = 31;
} else if (dmt == 3) {
fmn = dmt - 1;
if (fyr % 4 === 0) {
fdt = 29;
} else {
fdt = 28;
}
} else if (dmt === 5 || dmt === 7 || dmt === 8 || dmt === 10 || dmt === 12) {
fmn = dmt - 1;
fdt = 30;
}
}
if (fmn.toString().length < 2) {
fmn = '0' + fmn;
}
if (fdt.toString().length < 2) {
fdt = '0' + fdt;
}
$(obj2).val(fdt + sep + fmn + sep + fyr);
}
}