Как фильтровать вставляемый текст из буффера обмена
Нужно сделать проверку на первый символ, перед тем как разрешить вставить текст в поле.
На данный момент получилось отловить действие вставки onpaste и остановить вставку(ctrl+v или "Вставить") return false;.
Как мне сейчас проверить какой текст пользователь пытается вставить?
input.onpaste = function(event) {
console.log(event.type + ' ' + input.value);
return false;
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="input">
Ответы (1 шт):
Автор решения: Denis640Kb
→ Ссылка
В примере проверяем текст из буффера обмена.
Если первая буква вставляемого текста равна латинской букве A, то вставляем текст, если нет, то выводим ошибку.
input.onpaste = function(event) {
event.preventDefault();
var data = event.clipboardData.getData('text'); // Получаем вставляемые данные
var first = data[0]; //Получаем первую букву.
if(first == "A"){ // Если вставляемый текст начинается на латинскую букву A, то вставляем текст
document.getElementById('input').value = data;
} else {
document.getElementById('err').innerText = 'Нельзя вставлять такой текст.'
}
};
<div id="err"></div>
<input type="text" id="input">