jQuery longueur du masque de saisie

J’ai un champ de saisie et je souhaite le limiter aux caractères alphanumériques (AZ, az, 0-9), avec une longueur de champ MINIMUM de 5 et une longueur maximale de 15 caractères.

Est-ce que quelqu’un sait comment je peux faire cela en utilisant jQuery?

J’essaie d’utiliser le masque de saisie jQuery de digitalBush – http://digitalbush.com/projects/masked-input-plugin/

Le problème est que si je n’entre pas 15 caractères, le champ est vide. Si j’entre “012345678912345” (15 caractères) dans le champ de saisie, la valeur est stockée et tout va bien.

Mais si j’entre «12345» en tant que nom d’utilisateur, lorsque cette zone de saisie perd son focus, sa valeur redevient vide. Y a-t-il quelque chose que je peux changer dans les “définitions” ou les options quelque part qui résout ce problème?

Merci beaucoup pour votre aide 🙂

Tim

Ceci est fait comme ceci: Le ‘*’ est alphanumérique, n’importe quoi après le ‘?’ est facultatif.

jQuery(function($){ $("#elem").mask("*****?**********"); }); 

Aussi, si vous voulez changer le masque en fonction de la longueur du caractère, comme je l’ai fait. Trouvé cette excellente façon:

 var arr = ['HomePhone', 'CellPhone', 'EmergencyPhone' ]; for (var i in arr) { $('input[name='+arr[i]+']').mask("999-999-9999?9") .keydown(function () { var $elem = $(this); var a = this.value.replace(/\D/g, "").length; setTimeout(function () { var n = $elem.val().replace(/\D/g, "").length; if (n !== a && (n === 10 || n === 11)) { var mask = (n === 11 ? "9999-999-9999" : "999-999-9999?9"); $elem.mask(mask); } }, 1); }); }