文本框的KeyPress事件中写代码``限定输入字符的范围

解决方案 »

  1.   

    keypress事件中,我用了限制keyvalue的值
    效果十分不好!
    尽管能提示,但是还是能输进去
      

  2.   

    keypress中:
    if(非法字符)
      e.Handled = true;
      

  3.   

    使用<asp:RegularExpressionValidator>控件,正则:“{[a-z]|[0-1]}+”表示字母或数字(一个或多个)。如果不想使用控件,在js中也可以校验,校验方法,见博客:
    http://blog.csdn.net/Lisliefor/archive/2008/01/18/2051503.aspx
      

  4.   

    前5个字母必须是RABD后18个必须是数字,
    怎样实现?
      

  5.   

    code=C#]
            void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                //throw new Exception("The method or operation is not implemented.");
                
                if (!(e.KeyChar >= 48 && e.KeyChar <= 57) )
                {
                    textBox1.Select(0, textBox1.Text.Length - 1);
                    textBox1.Text = textBox1.SelectedText;
                    textBox1.SelectAll();
                    textBox1.SelectionStart = textBox1.Text.Length;
                    textBox1.Focus();            }
            }
    [/code]
    只能输入数字
      

  6.   

    前5个字母必须是RABD后18个必须是数字, 
    怎样实现?
    ==================================
    ^RABD\d{18}$
      

  7.   

    ^RABD\d{18}$这个怎么用?
    不会用啊
      

  8.   

    System.Text.RegularExpressions.Regex rex = new System.Text.RegularExpressions.Regex(@"^RABD\d{18}");
    if (rex.Match(txtInput).Success) //txtInput is the character input
    {
        //Your code here for operation
    }
      

  9.   

    判断字符串是数字性字符串还是用正则,转换可以用 Convert.ToInt32(strInput)
      

  10.   

    Char.IsNumber(str)
    看返回结果在确定转不转
      

  11.   

    用MaskTextBox,其中Mask属性设置为"9999999999",要想几位就几个9,把PromptChar设置为' '空白符。
      

  12.   

    不好意思,看错问题了,没看到还要字母,可以这样做:
    用MaskTextBox,其中Mask属性设置为"aaaaaaaaaaaaa",要想几位就几个a,把PromptChar设置为' '空白符。
      

  13.   

    写上 <input id="TextBox1" type="text" onkeyup="value=value.replace(/\D/g,'')" runat="server" />就行了!!!
      

  14.   

    用JS
    <html>
    <head>
    <script type="text/javascript">
    function checkchar()
    {var template="1234567890abcdefghijklmn..."
    var textvalue=form1.textInput[0].value
        for (var i=0;i<template.length-1;i++)
        {
            var temp=template.substring(i,i+1);
            if (textvalue.indexOf(temp)==-1) 
               return false;
        } 
        return true;
    }
    </script>
    </head><body>
    <input type="text" id="text1" onblur="checkchar()" /></body>
    </html>
      

  15.   

    判断所按下键盘的 ascII码。。
      

  16.   

    如果是,asp.net的话,可以建议用ajax控件.
      

  17.   

    中文全角的数字和英文的数字还是区分不开的阿! 
    中文全角的数字还是不能校验! 另外,我想焦点到文本框内输入法自动切换成大写英文状态键盘,怎样实现? 
    ================================================================
    控制英文键盘状态,可以如下
            TextBox1.ImeMode = ImeMode.Off
    至于大写状态,我觉得没有必要,不然你都看不到自己输入的到底是啥值了,
    完全可以当焦点离开文本框的时候,做转化处理
      

  18.   

    使用RegularExpressionValidator控件,指定ControlToValidate、ErrorMessage、Display、ValidationExpression四个属性,ValidationExpression设置为:\w+
      

  19.   

    只能输入数字的:
    txtValidation.Attributes["onkeypress"] = "if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false; ";
      

  20.   

    <ajaxToolkit:MaskedEditExtender runat="server" TargetControlID="要规范txtbox的id" ID="ZipEditExtender" Mask="99999" MessageValidatorTip="true" ClearMaskOnLostFocus="true" />
    <ajaxToolkit:MaskedEditValidator ID="ZipEditValidator" runat="server" ControlExtender="ZipEditExtender" ControlToValidate="Zip" IsValidEmpty="true" ValidationExpression="\d{5}" InvalidValueMessage="Please enter a 5-digit zip code"
                                    Display="Dynamic" />
    规范只能输入数字
      

  21.   

    用ajax控件吧。。就微软官方那个。
      

  22.   

    用正则表达式有点麻烦吧,可以使用Char.IsLetterOrDigit,如果是字母或数字,它将返回True,否则返回False. 再配合KeyDown方法使用.
      

  23.   

    参考一下这个:
    http://blog.csdn.net/hbxtlhx/archive/2004/11/12/178510.aspx