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; ??
??}?
轉載于:https://www.cnblogs.com/ziyiFly/archive/2008/09/04/1284176.html
總結
以上是生活随笔為你收集整理的TextBox控件中只输入整数的几种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从NBear到ADO.NET Entit
- 下一篇: GDB调试程序系列 (3)