#javascript #html
#javascript #HTML
Вопрос:
Я хочу, чтобы кнопка Сгенерировать имя пользователя сгенерировала имя пользователя, которое будет forename username year_of_birth.
Я могу объединить как имя, так и фамилию, однако как мне извлечь (и объединить) только последние четыре буквы (или цифры, на самом деле)?
<p>First name: <input type="text" id="fname" /></p>
<p>Surname: <input type="text" id="sname" /></p>
<p>Date of birth: <input type="text" id="dob" /> (Please enter as dd/mm/yyyy)</p>
<button onclick="user()">Generate Username</button>
<p id="username"></p>
<script>
function user()
{
document.getElementById("username").innerHTML = document.getElementById("fname").value document.getElementById("sname").value document.getElementById("dob").value
}
</script>
Комментарии:
1. вы должны извлечь complete, но затем можете использовать substring или другой строковый метод для разделения строки
2. Вы можете использовать
<input type="date" />
вместо текста developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date3. Использование правильного
input type
сделает ваш веб более надежным. Кроме того, вы должны выполнить некоторую проверку данных перед использованием этих полей. Что должно произойти, когда пользователи ничего не вводят, а нажимают кнопку?
Ответ №1:
document.getElementById("dob").value.slice(-4)
Ответ №2:
Нарежьте dob, если его длина > 4, от четвертого последнего элемента до последнего элемента
function user() {
var fName = document.getElementById("fname").value;
var sName = document.getElementById("sname").value;
var dob = document.getElementById("dob").value
if(dob.length > 4 )
var dob = dob.slice(dob.length - 4, dob.length);
document.getElementById("username").innerHTML =fName sName dob
}
<p>First name: <input type="text" id="fname" /></p>
<p>Surname: <input type="text" id="sname" /></p>
<p>Date of birth: <input type="text" id="dob" /> (Please enter as dd/mm/yyyy)</p>
<button onclick="user()">Generate Username</button>
<p id="username"></p>