JavaScript. Как сделать так чтобы после ввода символа "." его больше нельзя было бы ввести ещё раз в input? document.getElementById("display").value += "."; return false;пример кода
Метод indexOf() возвращает индекс первого вхождения указанного значения в строку. Метод lastIndexOf(), наоборот, возвращает индекс последнего вхождения указанного значения в строку. Проверив индекс первого и последнего вхождений символа "." в текстовое поле, мы можем выяснить, был ли он введён до этого, или нет. Если индексы совпадают, это говорит о том, что символ вводится впервые. Если нет, то символ уже был введён до этого. В таком случае мы меняем значение текстового поля на то же, но без последнего символа.
Примечание:
Предполагается, что в HTML файле текстовое поле имеет идентификатор "input".
Answers & Comments
Verified answer
Задание:
Разрешить ввод символа "." в текстовом поле лишь единожды.
Решение (JavaScript):
let input = document.getElementById("input");
input.addEventListener("input", () => {
if (input.value.indexOf(".") !== input.value.lastIndexOf(".")) {
input.value = input.value.substring(0, input.value.length - 1);
}
});
Объяснение:
Метод indexOf() возвращает индекс первого вхождения указанного значения в строку. Метод lastIndexOf(), наоборот, возвращает индекс последнего вхождения указанного значения в строку. Проверив индекс первого и последнего вхождений символа "." в текстовое поле, мы можем выяснить, был ли он введён до этого, или нет. Если индексы совпадают, это говорит о том, что символ вводится впервые. Если нет, то символ уже был введён до этого. В таком случае мы меняем значение текстового поля на то же, но без последнего символа.
Примечание:
Предполагается, что в HTML файле текстовое поле имеет идентификатор "input".