FullyHumanProgrammer
FullyHumanProgrammer

Reputation: 101

asp:Textbox with type=number allowing "e"

I am currently making an asp.net webpage with a asp:TextBox field, I set the TextBox to type=number, and it is now accepting only numbers with one exception. It also accepts the letter "e". Does someone know what might cause this and how to solve it?

<asp:TextBox CssClass="form-control" type="number" id="LotNumber" placeholder="Lotnummer" runat="server" Text="<% $RouteValue:ordernummer %>"/>

Upvotes: 3

Views: 4137

Answers (3)

user3497034
user3497034

Reputation:

You can do this by using JavaScript. Please check following code:

 <asp:TextBox CssClass="form-control" type="number" id="LotNumber" placeholder="Lotnummer" runat="server" onkeypress="return isNumberKey(event)" Text="<% $RouteValue:ordernummer %>"/>

Please paste following code in tag of your page:

<SCRIPT language=Javascript>

      function isNumberKey(evt)
      {
         var charCode = (evt.which) ? evt.which : event.keyCode
         if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;

         return true;
      }

   </SCRIPT>

Upvotes: 1

Mehmet B
Mehmet B

Reputation: 11

10^20 = 1e+20

It is a notation. I suppose that's why "e" is allowed

EDIT:

In your case, if you want to prevent "e", floating numbers and negative numbers, you should change your ASP Textbox like this:

<asp:TextBox CssClass="form-control" type="text" pattern="[0-9]+" id="LotNumber" placeholder="Lotnummer" runat="server" Text="<% $RouteValue:ordernummer %>"/>

Upvotes: 1

M_Idrees
M_Idrees

Reputation: 2172

You can use RegularExpressionValidator.

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="Please enter only digits" ValidationExpression="\d+"></asp:RegularExpressionValidator>

Upvotes: 1

Related Questions