在版本1.x中,似乎通过data-luhn =" true"在额外内容中进行了信用卡验证。
在2.0版中,是否有类似的方法来检查信用卡的有效性?
答案 0 :(得分:0)
目前没有。在Parsley2 repo中有一个https://github.com/guillaumepotier/Parsley.js/tree/master/src/extra/validator目录,其中有特殊或非常用的验证器。如果您想将它与Parsley2一起使用并将其提供给社区,则应将v1 luhn验证器移植到此处。
最佳
答案 1 :(得分:0)
截至2014年12月,对Lars验证的支持已经恢复到Parsley。
按照以下步骤添加Parsley的Luhn支持:
<?php
$i = 0;
foreach($users as $user) {
$i++;
echo'<tr>
<td>'.$i.'</td>
<td>'.$user['firstname'].'</td>
</tr>';
?>
添加到信用卡data-parsley-luhn="true"
答案 2 :(得分:0)
在代码中的某处添加以下代码:
if (typeof Parsley !== 'undefined') {
//add the custom message:
Parsley.addMessages('lang', {
luhn: 'Please provide valid credit card'
});
//set the locale:
Parsley.setLocale('lang');
//add the credit card validator:
Parsley.addValidator('luhn',
function (value) {
val = value.replace(/[ -]/g, '');
var digit, n, sum, _j, _len1, _ref2;
sum = 0;
_ref2 = val.split('').reverse();
for (n = _j = 0, _len1 = _ref2.length; _j < _len1; n = ++_j) {
digit = _ref2[n];
digit = +digit;
if (n % 2) {
digit *= 2;
if (digit < 10) {
sum += digit;
} else {
sum += digit - 9;
}
} else {
sum += digit;
}
}
return sum % 10 === 0;
}, 32);
}
提供输入的属性: data-parsley-luhn =&#34; true&#34;
<input id="creditCardNumber" value="" type="text" autocomplete="off" style="direction:rtl;" data-parsley-type="number" data-parsley-required="true" data-parsley-luhn="true"/>