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);