75 votes

Comment autoriser uniquement les entiers dans une zone de texte ?

Dans mon formulaire, je souhaite autoriser la saisie de valeurs entières uniquement dans une zone de texte. Comment faire ça?

123voto

Ashwini Verma Points 3800

Vous pouvez utiliser RegularExpressionValidator pour cela. ci-dessous est l'exemple de code:

 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1"
    ControlToValidate="TextBox1" runat="server"
    ErrorMessage="Only Numbers allowed"
    ValidationExpression="\d+">
</asp:RegularExpressionValidator>

ci-dessus TextBox n'autorisait que la saisie d'entier car dans RegularExpressionValidator a un champ appelé ValidationExpression, qui valide la TextBox. Cependant, vous pouvez modifier selon vos besoins.

Vous pouvez voir plus d'exemples dans MVC et Jquery ici .

75voto

Madhu Points 1178
<HTML>
   <HEAD>
   <SCRIPT language=Javascript>
      function isNumberKey(evt)
      {
         var charCode = (evt.which) ? evt.which : evt.keyCode;
         if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;    
         return true;
      }
   </SCRIPT>
   </HEAD>
   <BODY>
      <INPUT id="txtChar" onkeypress="return isNumberKey(event)" type="text" name="txtChar">
   </BODY>
</HTML>

26voto

Vinod Points 3892

Essaye ça:

Remarque : Cela utilise Ajax Toolkit

Ajoutez d'abord Ajax Script Manager et utilisez le code ci-dessous

 <asp:FilteredTextBoxExtender ID="TextBox1_FilteredTextBoxExtender" runat="server"
Enabled="True" TargetControlID="TextBox1" FilterType="Numbers">
</asp:FilteredTextBoxExtender>

25voto

EIV Points 379

Méthode facile : -

Vous pouvez utiliser la propriété onkeydown de la zone de texte pour limiter sa valeur aux nombres uniquement.

Très facile..:-)

 <asp:TextBox ID="TextBox1" runat="server" onkeydown = "return (!(event.keyCode>=65) && event.keyCode!=32);"></asp:TextBox>

!(keyCode>=65) la vérification est pour exclure les Albphabets..

keyCode!=32 check est pour exclure le caractère espace entre les nombres..

14voto

A-Sharabiani Points 5287

Une méthode encore plus simple consiste à utiliser l'attribut TextMode

 <asp:TextBox runat="server" ID="txtTextBox" TextMode="Number">

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X