Re: do not enter the hypen!
Not only are card number 19 digits, the MOD-10 check works with letters (in EBCDIC). While the CVC happens to be 3 or 4 digits now, there isn't anything keeping letters from appearing in the field either. Expire dates aren't quite what they appear as well.
We found that allowing spaces in card numbers reduces our change backs as people make fewer mistakes. The worst are the silly Javascript things that screw with the browser filling in the card numbers since they will do funny things and increase mistakes in non-obvious ways.