我使用一段 JavaScript 代码来识别用户输入的信用卡号类型。我对 JavaScript 不太了解,并且正在使用在网络上找到的代码。我已经让它正常工作了,但我希望有人能向我解释为什么特定部分会这样工作。
当用户开始输入信用卡号时,JavaScript 函数使用的值与该号码不同。例如,当我输入 3 时,charCode
变量为 51。我只是想了解如何从 3 得到 51,以便我可以将此函数用于其他卡类型。
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);"
最佳答案
查看 this page 末尾的彩色表格对于 ASCII id 列表。和here too .
但我建议阅读所有页面。
简要说明:
键盘上的每个键都分配有一个 ASCII ID 映射。 所以 Enter 是 13,Esc 是 27,依此类推。
关于Javascript识别卡号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18003054/