وعليكم السلام ورحمة الله وبركاته
اخي هذه عملية حساب لعمر الشخص اتمنى ان تكمل بقية االقيم وتعرضها للناس ايضا لكي يستفيد غيرك والله انا مشغول جدا لكن في وقت سابق كنت بحث عنه عندما كنت اتعلم ولست في الجافا متمكنا بعد
<div class='indent-20'>
<h2>Using Javascript to calculate age</h2>
<p>
first_name
<input id="first_name" type="text" value=""><br />
middle_name
<input id="middle_name" type="text" value=""><br />
middle_name
<input id="last_name" type="text" value=""><br />
Your date of birth(day/month/year):
<input id="dob" type="date" value="">
</p>
</div>
<script>
$(document).ready(function () {
handleDOBChanged();
});
//listener on date of birth field
function handleDOBChanged() {
$('#dob').on('change', function () {
if (isDate($('#dob').val())) {
var age = calculateAge(parseDate($('#dob').val()), new Date());
$("#age").text(age);
} else {
$("#age").text('');
}
});
}
//convert the date string in the format of dd/mm/yyyy into a JS date object
function parseDate(dateStr) {
var dateParts = dateStr.split("/");
return new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);
}
//is valid date format
function calculateAge (dateOfBirth, dateToCalculate) {
var calculateYear = dateToCalculate.getFullYear();
var calculateMonth = dateToCalculate.getMonth();
var calculateDay = dateToCalculate.getDate();
var birthYear = dateOfBirth.getFullYear();
var birthMonth = dateOfBirth.getMonth();
var birthDay = dateOfBirth.getDate();
var age = calculateYear - birthYear;
var ageMonth = calculateMonth - birthMonth;
var ageDay = calculateDay - birthDay;
if (ageMonth < 0 || (ageMonth == 0 && ageDay < 0)) {
age = parseInt(age) - 1;
}
return age;
}
function isDate(txtDate) {
var currVal = txtDate;
if (currVal == '')
return true;
//Declare Regex
var rxDatePattern = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
var dtArray = currVal.match(rxDatePattern); // is format OK?
if (dtArray == null)
return false;
//Checks for dd/mm/yyyy format.
var dtDay = dtArray[1];
var dtMonth = dtArray[3];
var dtYear = dtArray[5];
if (dtMonth < 1 || dtMonth > 12)
return false;
else if (dtDay < 1 || dtDay > 31)
return false;
else if ((dtMonth == 4 || dtMonth == 6 || dtMonth == 9 || dtMonth == 11) && dtDay == 31)
return false;
else if (dtMonth == 2) {
var isleap = (dtYear % 4 == 0 && (dtYear % 100 != 0 || dtYear % 400 == 0));
if (dtDay > 29 || (dtDay == 29 && !isleap))
return false;
}
return true;
}
</script>