Перехватывать только нажатия delete или backspace не вариант, ведь удалять можно еще через контекстное меню. Плюс можно выделить весь текст и нажать клавишу с каким-то символом и все заменится на жэтот символ - такой вариант допустим?
Если задача такая что разрешено ТОЛЬКО дописываться к текущему значению, а удалять все или часть или заменять все или часть на что-то другое нельзя, то вам нужно хранить текущее значение поля и при изменении (лучше на событие input, если поддержка устроит) сравнивать его с новым. В случае если новое значение не содержит в себе предыдущее значение плюс новые символы, то возвращать исходное значение
Пример, проверяется содержится ли в начале нового значения предыдущее значение, если да, то в переменных обновляем переменную текущего значения для дальнейшего сравнения с ним, если не содержит - устанавливаем предыдущее значение. Работает как с удалением по кнопкам, так и через контекстное меню