JSFiddle - React, Tailwind, and code Playground
by Hellfrom
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.marionette/1.4.1-bundled/backbone.marionette.min.js"></script>
<input type="text" id="cardreader" />
JavaScript
function cardReaderListener(set,callback){
$(set).keypress(function (e) {
var c = String.fromCharCode(e.which);
// console.debug(c);
// console.log(c);
if (c =='\r'){
// console.debug("c = \\r");
var pan = this.value.match(/%.\d{16,19}/);
var date = this.value.match(/\^|\:\d{4}/);
if (callback != undefined && pan != undefined){
callback(pan[0].substring(2,pan[0].length), this, {cardNumber: pan[0].substring(2,pan[0].length), cardDate: date[0].substring(3,5) + date[0].substring(1,3) });
}
}
});
}
var callbfunc=function (){
console.dir(arguments);
};
cardReaderListener($('#cardreader'),callbfunc);