     QJ.on el, 'keydown', formatBackCardNumber
     QJ.on el, 'keyup blur', setCardType
     QJ.on el, 'paste', reFormatCardNumber
-    QJ.on el, 'input', reFormatCardNumber
+    QJ.on el, 'input', formatCardNumber(maxLength)
     el
   @getCardArray: -> return cards
   @setCardArray: (cardArray) ->

# Format Expiry

formatExpiry = (e) ->
  # Only format if input is a number
  digit = String.fromCharCode(e.which)
  return unless /^\d+$/.test(digit)

  target = e.target
  val     = QJ.val(target) + digit

  if /^\d$/.test(val) and val not in ['0', '1']
    e.preventDefault()
    QJ.val(target, "0#{val} / ")
    QJ.trigger(target, 'change')

    re = /(?:^|\s)(\d{4})$/

  # If '4242' + 4
  value = value.substring(0, value.length - 1)
  if re.test(value)
    e.preventDefault()
    QJ.val(target, value + ' ' + digit)
