jQuery Validateur Numéro de Carte de Crédit + Type de Match
D'essayer d'ajouter un client jQuery programme de validation de la méthode qui, en gros, vérifie le type de carte et le numéro de carte de crédit pour la validité.
ie. Si le type est MasterCard, si le numéro de la carte ne démarre pas avec le 5, il est invalide ou si le type de Visa, si le numéro de la carte ne commence pas par 4, il est invalide. Mon entreprise seulement les frais de MC ou de Visa, donc pas d'autres sont nécessaires.
$.validator.addMethod("CCNumber", function(value, element, param) {
if (param == "MasterCard") {
return value.substring(0,1) != 5;
}
else if (param == "Visa") {
return value.substring(0,1) != 4;
}
});
De l'appeler ici:
cardnumber: {
required: true,
creditcard: true,
minlength: 13,
maxlength: 16,
digits: true,
CCNumber: function(){ return $('#cardtype').val(); }
},
Et le message...
cardnumber: {
required: "Please enter a valid credit card number",
minlength: "Please enter a valid credit card number",
maxlength: "Please enter a valid credit card number",
digits: "Your credit card number cannot contain spaces.",
CCNumber: "WRONG"
},
Enfin, le code HTML:
<select name="cardtype" id="cardtype">
<option value="MasterCard">MasterCard</option>
<option value="Visa">Visa</option>
</select>
Je n'ai jamais écrit une méthode jQuery avant, mais rien ne se passe ici. Je ne suis pas entièrement sûr de ce que j'ai fait de mal, que j'ai essayé de regarder les autres méthodes, mais ne pouvais pas trouver quoi que ce soit.
Oui. L'OP doit simplement se débarrasser de lui.
Qu'est-ce que
sub
censé faire? Vouliez-vous dire substring
?Mise à jour de l'OP avec les changements que j'ai trouvé. Plus proche de la bonne voie je pense.
Si vous êtes vraiment en utilisant le jQuery Valider plugin, comme votre question est balisé, alors pourquoi ne pas simplement utiliser la méthode intégrée pour la CC de validation inclus dans le "autres méthodes" fichier?
OriginalL'auteur jsquadrilla | 2012-12-17
Vous devez vous connecter pour publier un commentaire.
La plugin jQuery Validation a déjà d'autres méthodes disponibles pour ce genre de choses.
Ce qui suit est la méthode par défaut utilisée dans la "D'autres Méthodes de fichier" , mais ensuite édité en bas pour seulement Visa &Mastercard.
le paramètre que vous passer dans cette méthode est
visa
oumastercard
basé sur une liste de sélection, puis le champ de saisie est validée uniquement pour ce type de carte. C'est l'idée de toute façon.OriginalL'auteur Sparky
sub() n'est pas une fonction javascript. La fonction que vous recherchez est substring(). Encore plus facile, cependant, serait charAt(0), puisque vous souhaitez uniquement le premier caractère.
OriginalL'auteur AmericanUmlaut