JSFiddle - React, Tailwind, and code Playground
by jeffutter
HTML
<script src="https://raw.github.com/garetjax/CardReader/master/CardReader.js"></script>
<script src="https://raw.github.com/gist/4d8920f501c509ef2394/aaf94b00d7e54888b09960aeb2098f42ef4df6b6/parser.js"></script>
CoffeeScript
$ ->
reader = new CardReader "Ă©", "%", "?", 200
reader.observe window
reader.cardError () ->
alert "A read error occurred"
reader.cardRead (value) ->
console.log 'CARD READ'
reader.validate (value) ->
parsed = new SwipeParserObj(value)
visa = new RegExp(/^4[0-9]{12}(?:[0-9]{3})?$/)
masterCard = new RegExp(/^5[1-5][0-9]{14}$/)
americanExpress = new RegExp(/^3[47][0-9]{13}$/)
discover = new RegExp(/^6(?:011|5[0-9]{2})[0-9]{12}$/)
if parsed.account.match(visa)
Restaurant.paymentController.set 'ccType', 'Visa'
return true
else if parsed.account.match(masterCard)
Restaurant.paymentController.set 'ccType', 'Master Card'
return true
else if parsed.account.match(americanExpress)
Restaurant.paymentController.set 'ccType', 'American Express'
return true
else if parsed.account.match(discover)
Restaurant.paymentController.set 'ccType', 'Discover'
return true
else
return false