Como se menciona en la otra respuesta, el lector de código de barras o lector de tarjetas funciona como un teclado. Puede adjuntar un oyente, por ejemplo, en todo el documento:
document.onkeypress = function(e) {
e = e || window.event;
var charCode = (typeof e.which == "number") ? e.which : e.keyCode;
// store it , in this example, i use localstorage
if(localStorage.getItem("card") && localStorage.getItem("card") != 'null') {
// append on every keypress
localStorage.setItem("card", localStorage.getItem("card") + String.fromCharCode(charCode));
} else {
// remove localstorage if it takes 300 ms (you can set it)
localStorage.setItem("card", String.fromCharCode(charCode));
setTimeout(function() {
localStorage.removeItem("card");
}, 300);
}
// when reach on certain length within 300 ms, it is not typed by a human being
if(localStorage.getItem("card").length == 8) {
// do some validation
if(passedonvalidation){
// do some action
}
}
}
puede adjuntar oyente en un cuadro de texto si usted desea. Asegúrese de que esté enfocado cuando se pasa la tarjeta.
La respuesta de Māris Kiseļovs es incorrecta. Marque la respuesta @AngeloS como la respuesta correcta. –