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