Как запретить символ после одного раза его использования?
на мой сайт нужно добавить ввод номера, нужно сделать так, чтобы плюс можно было использовать только один раз, а на второй он не реагировал. По возможности показать на примере, спасибо!
Ответы (1 шт):
Автор решения: ΝNL993
→ Ссылка
Если вы просто хотите что в инпут не было второго плюса, то вот тогда(сделано топорно):
const INP = document.querySelector('#i')
INP.addEventListener('keydown', () => {
if(INP.value.includes('++')) INP.value='+'+INP.value.replaceAll('+', '')
})
<input id="i" type="text">
Я же посоветую сделать так, чтобы + был включён по стандарту и нужно было вводить только числа, а в самом коде если вам нужно номер с +-ом, тогда просто добавляйте его в начало. Вот что я имею в виду:
const INP = document.querySelector('#i')
let phoneNumber
INP.addEventListener('keyup', () => {
phoneNumber = INP.value
console.log('+42'+phoneNumber)
})
form {
display: flex;
}
form > span {
border: 1px solid;
border-right: 0px;
padding: 2px;
background-color: rgb(223, 223, 223);
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
form > input {
border: 1px solid;
border-left: 0px;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
<form>
<span>+42</span>
<input id="i" type="number">
</form>
Плюс к этому всему это же решает проблему того, что пользователь может написать к примеру не число, а букву. И это как по мне самый лучший вариант того как это можно реализовать.