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是鍵盤輸入的鍵對(duì)應(yīng)的字符,IsDigit函數(shù)可以判斷是否為0到9的數(shù)字,Chr(8) 為退格鍵,當(dāng)e.Handled為True時(shí),程序認(rèn)為該KeyPress事件已經(jīng)被處理過了,文本框的內(nèi)容也就不會(huì)發(fā)生變化 如果文本需要輸入小數(shù)的話,就要能夠輸入小數(shù)點(diǎn)".",而且小數(shù)點(diǎn)只能輸入一次//IsNumber:指定字符串中位于指定位置的字符是否屬于數(shù)字類別? //IsPunctuation:指定字符串中位于指定位置的字符是否屬于標(biāo)點(diǎn)符號(hào)類別? //IsControl:指定字符串中位于指定位置的字符是否屬于控制字符類別?
注意: 這里是在輸入時(shí)便限制其他類型的字符被寫入 TextBox;
?? ? ?就是說你不輸入正確或你輸入的不是數(shù)字我就不讓你做其他任何工作!
?? ? ?霸道吧? 呵呵, 如果你不喜歡這種方式, 下面有幾種允許用戶先隨便輸入,?
?? ? ?然后再判斷, 如果不是整數(shù), 我給你來個(gè)警告, 告訴你輸入類型不正確, 請(qǐng)重新輸入!
?? ? ?---不過在我看來, 這種做法有些不道德, 等著你犯錯(cuò), 然后笑喜喜的逮到你: 小樣被我抓到了吧!?
?
方法一: 正則表達(dá)式.
??string regExp ? = ? /^[1-9][0-9]*$/; ??
? if(!regExp.test( this.txtLogin.Text)) ??
? { ??
?? ? ? alert("只能是數(shù)字!"); ??
?? ? ? this.txtLogin.clear(); ??
?? ? ? return ;??
? }
方法二: 最沒有想象力的(原始)判斷方法---一個(gè)一個(gè)一個(gè)一個(gè)字符判斷還需要加上個(gè)for循環(huán)和n個(gè)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; ??
??}?
轉(zhuǎn)載于:https://www.cnblogs.com/ziyiFly/archive/2008/09/04/1284176.html
總結(jié)
以上是生活随笔為你收集整理的TextBox控件中只输入整数的几种方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从NBear到ADO.NET Entit
- 下一篇: GDB调试程序系列 (3)