I’m using a piece of JavaScript code to identify what type of credit card number a user enters. I don’t know much about JavaScript and am using code found on the web. I’ve gotten it to work with no issue, but I was hoping someone could explain to me why a specific part works the way it does.
When a user starts to enter the credit card number, the value that gets used by the JavaScript function isn’t the same as the number. For example, when I enter a 3, the charCode
variable is 51. I’m just trying to understand how I get from 3 to 51 so I can use this function for additional card types.
JAVASCRIPT:
<script type="text/javascript"> function handleKeypress(inCardNumber,e) { var inCardNumber = document.form.cardNumber; var charCode; if(e && e.which) { charCode = e.which; // For Firefox } else if(window.event){ e = window.event; charCode = e.keyCode; // For IE } if (inCardNumber.value.length === 1) { switch (charCode) { case (48): swapVISA.src = "/images/icons/payments/VISA-dim.png"; break; case (49): swapVISA.src = "/images/icons/payments/VISA-dim.png"; break; etc
HTML
onkeyup="handleKeypress(this,event);"
Advertisement
Answer
Character codes are just a representation of a key, they are just a standard of which code corresponds to what keystroke, so don’t think too much about them. Just remember that every key on your keyboard has a character code associated with it.
Here’s a list of char codes as well as an interactive tool to test them out: http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
As UweB pointed out, get the actual character from a code like this:
var theChar = String.fromCharCode(charCode);