2016-01-27 2 views
1

J'ai donc ma zone de texte habituelle, mais je n'arrive pas à trouver un masque qui accepte des valeurs alphanumériques.JQuery MVC - Zone de texte masquée qui accepte à la fois les lettres et les chiffres

HTML:

<div class="form-group">     
    <div class="col-md-6"> 
     <label class="control-label">Security code:</label>  
     @Html.TextBox("txtSecCode", null, new { @class = "form-control", maxlength = 20 }) 
    </div>      
</div> 

Javascript: (BTW J'utilise la vue du moteur de razer)

<script type="text/javascript"> 
    $(function() { 
     $('#txtSecCode').keyup(function() { 
      // I used this to not let the user input any special characters. 
      if (this.value.match(/[^a-zA-Z0-9 ]/g)) { 
       this.value = this.value.replace(/[^a-zA-Z0-9 ]/g, ''); 
      } 
     }); 

     // The 'blur' function is used to auto-mask the field when it's not focused 
     $('#txtSecCode').blur(function() { 
      // So that's my mask, at first my field's maxlength was set to 
      // 16, but than some errors occured and then I realized that the 
      // dots(.) of the mask were the guilt for this. 
      $('#txtSecCode').mask('9999.9999.9999.9999'); 
     });              
    }); 
</script> 

Quoi qu'il en soit, le masque doit accepter des valeurs telles que: « 98AC. 981X.B8TZ.EW89 '. Si quelqu'un connaît un masque de champ de zone de texte qui me permet d'entrer des valeurs alphanumériques, s'il vous plaît faites le moi savoir.

Merci à l'avance: D

Répondre

0

Cette expression régulière correspondra uniquement des chiffres, des lettres et le ..

[a-zA-Z0-9.] 

En ce qui concerne votre approche générale cependant, je pense que vous pouvez accomplir la même chose de façon plus concise en faisant la validation HTML5. Avec l'attribut pattern vous pouvez spécifier droit regex sur l'élément d'entrée comme celui-ci:

<input required pattern="[a-zA-Z0-9.]+"> 

Je vois que vous utilisez une aide MVC rasoir pour créer vos éléments ... Je crois que vous pouvez simplement changer votre ligne 4 à cela et prendre les js:

@Html.TextBox("txtSecCode", null, new { @class = "form-control", maxlength = 20, required = "required", pattern = "[a-zA-Z0-9.]+"}) 

il n'a pas vraiment d'importance ce que vous définissez à required, juste que vous définissez à quelque chose pour vous assurer que la propriété sera inclus.