Создать программу на JS которая рассчитает сколько пользователю полных лет и через какой промежуток времени пользователю нужно будет поменять паспорт?
Создать программу которая рассчитает сколько пользователю полных лет и через какой промежуток времени пользователю нужно будет поменять паспорт. Пользователь должен будет ввести фамилию, имя, отчество (полностью) и дату рождения в формате dd.mm.yyyy. Например: Ввод: Иванов Иван Иванович 01.01.2001. Вывод программы: Здравствуйте Иванов И.И. на данный момент Вам 19 лет. Через 21 день Вам необходимо будет заменить паспорт. Помогите, пожалуйста, только начал изучать JS, задали такое задание и без понятия, как рассчитать дней до смены паспорта, все перепробовал, что видел в интернете, ничего не получилось Вот код в HTML:
let BtnStart = document.querySelector("#Btn1");
let Inp0 = document.querySelector("#Inp0");
let Inp1 = document.querySelector("#Inp1");
let Out = document.querySelector(".Out");
BtnStart.onclick = function(){
let Name0 = ("Здравствуйте, " + Inp0.value + "," + " на данный момент вам " );
if(Inp0.value.length === 0){
Name0 = "Здравствуйте, " + "X," + " на данный момент вам ";
}
var strDate = document.getElementById('Inp1').value;
var arrDate = strDate.split(/\D+/g).reverse();
var date = new Date(arrDate[2], arrDate[1] - 0, arrDate[1]);
var now = new Date();
var age = now.getFullYear() - date.getFullYear();
now.setFullYear(date.getFullYear());
if (now < date) age--;
if (isNaN(age)) age = "X";
Out.innerHTML = Name0 + age +" лет ";
}
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style\style.css">
<script defer src="script\year.js"></script>
<title>Паспорт</title>
</head>
<body>
<a>Введите ФИО: </a><input id="Inp0" placeholder="Full name">
<a>Введите дату рождения: </a><input id="Inp1" type="date" value="" placeholder="DD.MM.YYYY">
<button id="Btn1">start</button>
<div class="Out"></div>
</body>
</html>
Ответы (1 шт):
Автор решения: pyduti
→ Ссылка
const btnStart = document.querySelector("#Btn1");
const inp0 = document.querySelector("#Inp0")
const inp1 = document.querySelector("#Inp1");
const out = document.querySelector(".Out");
btnStart.onclick = function(){
let name0 = ("Здравствуйте, " + inp0.value + "," + " на данный момент вам " );
if(inp0.value.length === 0) {
name0 = "Здравствуйте, " + "X," + " на данный момент вам ";
}
let strDate = document.getElementById('Inp1').value;
if (strDate === '') {
age = "X"
out.innerHTML = name0 + age +" лет ";
} else {
let birthYear = strDate.replace(/\-.*/, '')
let date = new Date().getFullYear()
let age = Number(date) - Number(birthYear);
out.innerHTML = name0 + age +" лет ";
}
}
<a>Введите ФИО: </a><input id="Inp0" placeholder="Full name">
<a>Введите дату рождения: </a><input id="Inp1" type="date" value="" placeholder="DD.MM.YYYY">
<button id="Btn1">start</button>
<div class="Out"></div>