asp.net TextBox 只能輸入數字和小數點

來源:互聯網
上載者:User

在定製的textbox控制項中,如果只允許輸入數字,需要考慮如下三種情況:
正常按鍵輸入的字元,包括西文、中文字元等
通過鍵盤快速鍵方式貼入的文本,即ctrl+v操作
通過上下文關聯菜單的mouse操作貼入的文本,即”粘貼“操作
在探討的同類文章中,多數只考慮了第1種情況,忽略得了第2、3種常見的操作
只允許資料小數

private sub text1_keypress(keyascii as integer)

 if keyascii < 48 or keyascii > 57 then
  if keyascii = 46 then
   if text1.text = "" or instr(1, text1.text, ".") <> 0 then
    keyascii = 0
     else
    keyascii = 46
    end if
  else
  keyascii = 0
  end if
  end if
 
end sub


這個加在按鈕上

 

private void button1_click(object sender, eventargs e) 
  { 
  //在此加入實現相加的代碼 
  //自己加判斷語句,限定輸入的值是數字,這裡就不寫了
  int sum = 0;
  int number1 = int.parse(textbox1.text);
  int number2 = int.parse(textbox2.text);
  sum = number1+number2;
  textbox3.text = sum.tostring();
  }

限制textbox只能輸入數字和小數點

/// <summary>
        /// 限制textbox只能輸入數字和小數點
        /// 一般在textbox的keypress中調用
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void textbox_keypress(object sender, keypresseventargs e)
        {
            if (!(((e.keychar >= '0') && (e.keychar <= '9')) || e.keychar <= 31))
            {
                if (e.keychar == '.')
                {
                    if (((textbox)sender).text.trim().indexof('.') > -1)
                        e.handled = true;
                }
                else
                    e.handled = true;
            }
            else
            {
                if (e.keychar <= 31)
                {
                    e.handled = false;
                }
            }
        }

textbox控制項輸入的事前處理模式,即在輸入字元的同時屏蔽非數字鍵。在實際應用中一般採取事後處理模式,即在textbox控制項的exit、validate等事件中進行輸入後處理——離開該控時進行驗證。但事後處理模式有如下不足:
與資料來源綁定時輸入非數字字元可能拋出異常,需要考慮異常捕獲
需要判斷資料並給出錯誤提示等處理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.