Если брать в расчет только скорость ввода (не более 20 мс), то как-то так:
var RFIDTime = false;
var RFIDInput = '';
$(document).keyup(function(e){
if(!RFIDTime) RFIDInput += String.fromCharCode(e.which); RFIDTime = e.timeStamp;
if(RFIDTime){
if(e.timeStamp - RFIDTime < 20){
RFIDInput += String.fromCharCode(e.which);
RFIDTime = e.timeStamp;
if(RFIDInput.length == 10){
console.log('RFID detected, value: ' + RFIDInput);
}
} else {
RFIDInput = '';
RFIDTime = false;
}
}
});
Но если очень быстро вводить что-то на клавиатуре (бить по ней) - то это тоже определится как RFID. В таком случае на бэкэнде стоит сделать проверку введенных данных.
Если же какой-то input сфокусирован - то данные будут введены в него.
Этого не получится избежать, разве что сохраняя предыдущее значение в переменную, и возвращая его обратно, если сервер вернул в качестве valid ответ true (RFID прошел).