Click here to Skip to main content
15,896,063 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
hi
I have a question about textbox.
I want restrict users for enter data in to the textbox payattention 2 roles:

1- thay can only enter numbers not others type

2- thay can't enter numbers more than 5 number

what do i do?

thanks
Posted

Try this:
thay can only enter numbers not others type
Try this:
C#
void NumberValidation(object sender, KeyPressEventArgs e)
      {
          if ((e.KeyChar >= 48 && e.KeyChar <= 57) || e.KeyChar == 8)
          {
              e.Handled = false;
          }
          else
          {
              e.Handled = true;
          }
      }


thay can't enter numbers more than 5 number
JavaScript:
XML
<script type="text/javascript">
   function numbersonly()
   {
   var data=document.getElementById('<%=TextBox1.ClientID %>').value;
   var filter=/^[a-zA-Z0-9]+$/;
    if(!filter.test(data))
       {
       alert("Please enter alphanumeric only");
       document.getElementById('<%=TextBox1.ClientID %>').value="";
       document.getElementById('<%=TextBox1.ClientID %>').focus();
       return false;
       }
       else if(data.Length!=5)
       {
       alert("Please enter 5 digits");
       return false;
       }
       else
       return true;
   }
   </script>

Using JavaScript:
XML
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
   <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="javascript:return numbersonly();"/>
 
Share this answer
 
Comments
veusk 27-Jul-12 6:08am    
for the first answer when i run ,I recive bellow error:

Error 1 'System.EventArgs' does not contain a definition for 'KeyChar' C:\Users\venus\Documents\Visual Studio 2005\WebSites\akhari\reg.aspx.cs 21 16 C:\...\akhari\


what should I do?
Prasad_Kulkarni 27-Jul-12 6:13am    
Try this:
private void button1_Click(object sender, EventArgs e)
{
int number2;
if (int.TryParse(textBox1.Text, out number2))
{
textBox2.Text = ("tryparse method succeed");
}
else { textBox2.Text=("value entered is not numeric"); }
}
hi for 1st do this


XML
<html>
<head>

    <script language="javascript">
        function blockChar() {
            var str = document.getElementById('txt').value;
            str = str.replace(/[^\d]*/g, '');
            document.getElementById('txt').value = str;
        }
    </script>

</head>
<body onload="javascript:document.getElementById('txt').focus();">
    <input type="text" id='txt' onkeyup="blockChar();" />
</body>
</html>



and for 2nd u can use maximum length from textbox properites set it as 5
 
Share this answer
 
v2
Hi,
Try this:
ASP.NET
<asp:textbox id="txtUID" runat="server" maxlength="5" cssclass="TextBox" onkeypress="return onlyNumbers(this);"></asp:textbox>

JavaScript
<script type="text/javascript" language="javascript">
function onlyNumbers(evt) {
    var e = event || evt; // for trans-browser compatibility
    var charCode = e.which || e.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;
    return true;
}
</script>



--Amit
 
Share this answer
 
v3
Comments
veusk 27-Jul-12 6:01am    
thanks , but where should I define that function ?
veusk 27-Jul-12 6:01am    
in the taextbox event or page load or..?
_Amy 27-Jul-12 6:05am    
This is javascript function. Use in Head tag of your html. See my updated Answer..
veusk 27-Jul-12 6:15am    
ok, thanks, but I used master page and this page have only content palce holder,where write them? in head tag in the master page, is it true?
_Amy 27-Jul-12 6:17am    
just before asp:content
hi
you can try like this.

ASP.NET
<asp:TextBox ID="TextBox1" runat="server" MaxLength="5"></asp:TextBox>
    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1"
        ErrorMessage="Enter a valid number" ValidationExpression="^\d$"></asp:RegularExpressionValidator>

Regards
Sandeep
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900