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.

Pourquoi me demandez-vous pour le type?
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