gpt4 book ai didi

javascript - 用javascript解析信用卡信息

转载 作者:行者123 更新时间:2023-11-28 08:16:21 24 4
gpt4 key购买 nike

所以我尝试使用 JavaScript 从读卡器获取信用卡信息。

这就是我所拥有的:

<script type="text/javascript">
function readCard () {

$("#swiped").focus();

//setup before functions
var typingTimer; //timer identifier
var doneTypingInterval = 2000; //time in ms, 5 second for example

//on keyup, start the countdown
$('#swiped').keyup(function(){
clearTimeout(typingTimer);
typingTimer = setTimeout(doneTyping, doneTypingInterval);
});

//on keydown, clear the countdown
$('#swiped').keydown(function(){
clearTimeout(typingTimer);
});

function doneTyping () {
var card_data = document.getElementById('swiped').value;

var details1 = card_data.split("^");

var card_number = details1[0];
card_number = card_number.substring(2);

var names = details1[1].split("/");
var first_name = names[1];
var last_name = names[0];

var details2 = details1[2].split(";");
details2 = details2[1].split("=");

var exp_date = details2[1];
exp_date = exp_date.substring(0, exp_date.length - 1);
exp_date_month = exp_date.substring(2,4);
exp_date_year = exp_date.substring(3, 1);

//document.getElementById("first_name").value = first_name;
//document.getElementById("last_name").value = last_name;
document.getElementById("cardNumber").value = card_number;
document.getElementById("cardExpMonth").value = exp_date_month;
document.getElementById("cardExpYear").value = exp_date_year;

$("#swiped").val('');
$("#swiped").blur();
}
}
</script>

它启动一个计时器,然后当计时器用完时它会执行代码。一切正常。它将信用卡读卡器的绳子撕开,并显示除到期年份之外的所有内容。所以我遇到的问题是:

var exp_date = 详细信息2[1];
exp_date = exp_date.substring(0, exp_date.length - 1);
exp_date_month = exp_date.substring(2,4);
exp_date_year = exp_date.substring(3, 1);

我从这个问题中得到了这个代码http://stackoverflow.com/questions/19018799/parsing-credit-card-data-from-magic-stripe-reader-using-javascript它除了过期之外,效果很好。我想不明白。

它应该导致exp月份:10和exp年份:15,但它的结果是exp月份:10和exp年份:51。

来自读卡器的字符串如下所示:

%B4242424242424242^EVANS/MITCH^15101011906300074000000?;4242424242424242=151010119063074?

地点:

4242424242424242 是卡号

和:

15101011906300074000000 是过期号码

不,这不是真正的信用卡数据;)

最佳答案

不确定您在哪里想到 exp_date.substring(3, 1),它应该是 exp_date.substring(0, 2)

exp_date.substring(3, 1)exp_date.substring(1, 3) 相同,后者从第二个字符到第四个字符,这就是为什么你得到 51。

参见the MDN doc for toString

关于javascript - 用javascript解析信用卡信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23554229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com