【发布时间】:2015-11-27 00:38:55
【问题描述】:
我尝试了很多示例,但仍然找不到解决问题的好方法。
如果我使用文本字段,那么我的应用会裁剪最后 3 位数字并使交易无法进行。问题是因为用户可能会输入space,
例如-
1234 1234 4564 1
当我在 (type="text") 上使用 JQuery 时,我过滤了字符,但我仍然遇到空间和裁剪问题。
知道如何以更好的方式解决这个问题吗?
我不太喜欢使用 JS 进行键映射,因为我不知道用户想要如何使用空间。
这是我的代码 -
<input class="required" id="field" type="number" min="0000" max="9999" pattern="[0-9]{4}" size="4" name="cvv"/>
<div class="FormInput">
<input name="var_creditcard_no" type="number" id="var_creditcard_no" onkeypress="return Check_mobile_number(event)" maxlength="16" value="<?php echo set_value('var_creditcard_no', '') ?>" placeholder="Credit Card Number *">
<?php echo form_error('var_creditcard_no', '<label class="error">', '</label>') ?>
</div>
这是 JQuery 代码 -
$(function() {
var txt = $("#myTextbox");
var func = function() {
txt.val(txt.val().replace(/\s/g, ''));
}
txt.keyup(func).blur(func);
});
【问题讨论】:
-
.on('input', func)是您的解决方案。 -
@thenchanter 将数据发送到支付网关并非非法形式。它谈论验证问题cus用户输入直接改变交易状态。
-
存储信用卡信息是违法的,至少在我的国家是这样。为什么不直接使用支付网关?在发送数据之前,您将其存储在您的服务器中,如果您的服务器以某种方式被黑客入侵并且您的客户的信用卡信息被盗,您将入狱(在世界上任何发达国家)。
-
您愿意使用插件吗?如果是的话,也许检查这个[链接]jqueryscript.net/form/…
-
@thenchanter PCI 说存储 pan 后 4 个数字对他们来说是可以的,你不能存储 Cvv 和 exp 日期和个人信息。我只存储 c 卡号的最后 4 位数字,因此更容易重新找到和验证用户。并且这个表格是直接发送到支付网关的。只有 cc number 用于开发票提议。但不用担心它不是 pci 问题,它是关于 html 5 错误
标签: javascript jquery html forms credit-card