<input onkeyup="value=value.replace(/[^A-Z]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^A-Z]/g,''))">

解决方案 »

  1.   

    如果是WinForm的,你可以参考这个帖子,他的要求和你差不多,是只能输入数字.http://expert.csdn.net/Expert/TopicView3.asp?id=1122481
      

  2.   

    asp.net WEB CONTROL 中自带的验证控件,可以设置输入数据的格式
      

  3.   

    我要的是在WINFORM中,那个只输入数字的我知道,现在我只想输入26个大小写字母
    可以用一个循环来做,但是不简单,
      

  4.   

    用事件触发,响应textBox控件的keypress事件
    {
       if(e.keychar>什么什么 || e.keychar<什么什么 )  //在此判断是不是26个字母的键值,如果不是,则执行
          {
               e.handled = ture;
           }}
    我忘了26个字母的keychar编号,你自己查查吧
    思想就是截获键码,如果键码在非a到z之间就e.handled = ture
      

  5.   

    哦,编号怎么查呢,我用了这个函数来验证:
    Char.IsLetter(e.char)
    但是还是可以输入中文,
      

  6.   

    先引用
    using System.Text.RegularExpressions;
    再在程序里控制
    Regex HYZF = new Regex(@"[a-zA-Z]{1}");
      if(!HYZF.IsMatch(P_HYMC.Text.ToString()))
        {       .......
          return;
        }
    }
      

  7.   

    忘了问了,如果输入的字母没有长度的限制的话,就要改一下
    Regex HYZF = new Regex(@"[a-zA-Z]");
    string tem = P_HYMC.Text;
    for (int i = 0;i <tem.Length; i ++)
    {
    if(!HYZF.IsMatch(tem[i].ToString()))
    {
                      ......
    return ;
    }
    }
      

  8.   

    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
    if(e.KeyCode < Keys.A || e.KeyCode > Keys.Z)
    {
    textBox1.ReadOnly = true;
    textBox1.BackColor = SystemColors.Window;
    }
    }private void textBox1_KeyUp(object sender, KeyEventArgs e)
    {
    textBox1.ReadOnly = false;
    }
      

  9.   

    毛毛虫的方法比较好,可以在TextChanged事件中进行