zoukankan      html  css  js  c++  java
  • TextBox控件中只输入整数的几种方法

    方法一.  

    if(e.KeyChar!=8&&!Char.IsDigit(e.KeyChar)&&e.KeyChar!='.')

    {     e.Handled = true;   }  

    方法二: if ((e.KeyChar < 48 || e.KeyChar > 57) && (e.KeyChar != 8) &&e.KeyChar!='.') 

    {     e.Handled = true;   } 

    方法三:if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar)) 

    { e.Handled = true; } 

    解释:其中e.KeyChar是键盘输入的键对应的字符,IsDigit函数可以判断是否为0到9的数字,Chr(8)
    为退格键,当e.Handled为True时,程序认为该KeyPress事件已经被处理过了,文本框的内容也就不会发生变化
    如果文本需要输入小数的话,就要能够输入小数点".",而且小数点只能输入一次
     
    //IsNumber:指定字符串中位于指定位置的字符是否属于数字类别 
    //IsPunctuation:指定字符串中位于指定位置的字符是否属于标点符号类别 
    //IsControl:指定字符串中位于指定位置的字符是否属于控制字符类别 

    注意: 这里是在输入时便限制其他类型的字符被写入 TextBox;

          就是说你不输入正确或你输入的不是数字我就不让你做其他任何工作!

          霸道吧? 呵呵, 如果你不喜欢这种方式, 下面有几种允许用户先随便输入, 

          然后再判断, 如果不是整数, 我给你来个警告, 告诉你输入类型不正确, 请重新输入!

          ---不过在我看来, 这种做法有些不道德, 等着你犯错, 然后笑喜喜的逮到你: 小样被我抓到了吧!?

    方法一: 正则表达式.

      string regExp   =   /^[1-9][0-9]*$/;   
      if(!regExp.test( this.txtLogin.Text))   
      {   
           alert("只能是数字!");   
           this.txtLogin.clear();   
           return ;  
      }

    方法二: 最没有想象力的(原始)判断方法---一个一个一个一个字符判断还需要加上个for循环和n个if

       function   isInt(a)   

    {         var   b   =   "0123456789";     

          var   i;   

          for   (i   =   0;   i   <   a.length;   i++)   

          {         

              var   c   =   a.charAt(i);   

              if   (b.indexOf(c)   ==   -1)   return   false;   

          }   

          return   true;   

      } 

  • 相关阅读:
    网络编程实验一 win socket基础 获取服务器时间
    ASP.NET Core入门
    vue-element-template 获取后端路由表动态生成权限
    vue-admin-template只有一个子菜单时父级菜单不显示问题
    vue-element-template 本地使用proxy解决跨域问题
    已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: SSL Provider, error: 0
    系统还未初始化,还不能审核期间以后的单据
    金蝶初始化问题
    jqueryMobile 动态添加元素,展示刷新视图方法
    链接数据库 远程事务的处理方式
  • 原文地址:https://www.cnblogs.com/FLWL/p/3607057.html
Copyright © 2011-2022 走看看