var cards = new Array();
cards [0] = {name: "VISA", length: "13,16", prefixes: "4", checkdigit: true};
cards [1] = {name: "VISA_DELTA/ELECTRON", length: "16", prefixes: "417500,4844,4508,4026,4917,4913", checkdigit: true};
cards [2] = {name: "MC", length: "16", prefixes: "51,52,53,54,55", checkdigit: true};
那么我的功能:确定与卡卡前缀
function CardTypes()
{
for (var i=0; i<cards.length; i++) {
if cards.name.Validate(PaymentForm.CardNumber.value)<!--pretty sure this is wrong-->
cardname = cards[i].getCardType();
}
if (cardname.length > 0) {
alert("This looks like a " + cardname + " .");
};
};
当表单提交它调用验证功能,依次调用其他所有功能,包括CardTypes()。我喜欢能够通过卡片前缀来确定卡片类型,即4 =签证。我敢肯定,我已经完全搞砸了CardTypes()函数。任何帮助,将不胜感激。我的表单ID是PaymentForm。
在开始编码解决方案之前,我必须确定两件事情:1)PaymentForm.CardNumber.value肯定会给出用户给出的值,2)您希望CardTypes返回卡的名称类型。如果我错了,请纠正我。没有HTML或那两个细节,我不能做更多的事情。 – Mamsaac 2011-05-06 15:21:19
@Mamsaac:感谢您的及时回复。是CardTypes应该返回卡类型名称,即签证等。PaymentForm是我的表单,CardNumber是需要检查的卡号输入字段的ID。虐待将html添加到原始邮件 – Hatzi 2011-05-06 15:29:12