只有數字字元的使用者輸入

2021-03-31 08:56:57 字數 1248 閱讀 2070

當介面上要使用者輸入只有數字的字元時,預設的

textbox

是不能勝任的,網上有很多網友們提供了很多的做法,我總結了一下寫了乙個在

c#下的實現,做到了如下的幾點:

1:只能輸入類似這樣的字元:

-123456.789

;1234.789;2

:在輸入的字串中不能存在兩個點符:

12456.78//

正確;12.456.78//

不正確;

3:如果表示負數可以在字串的最前面加乙個減號

「-」,也只能加到弟乙個字元的位置;

4:可以用複製粘帖功能和選單功能,但是只對能正確格式的字串有效,比如:

12.34

可以,abc

不可以;

5:只是得到乙個字串,還可以在這個基礎上再改進自己所需的,經如新增對十六進製制的支援等。

**如下在

.***

下用c#

寫的:using system;

using system.windows.forms;

namespace numtextbox

protected override void wndproc(ref message m)

if (issign)

base.wndproc (ref m);

break;

}if (isdelete)

}if ((int)m.wparam == 1)

break;

case wm_paste:

idataobject idata = clipboard.getdataobject();//

取剪貼簿物件

if(idata.getdatapresent(dataformats.text)) //

判斷是否是

text

}m.result = (intptr)0;//

不可以貼上

break;

default:

base.wndproc (ref m);

break;}}

private bool matchnumber(string clipboardtext)

index = this.selectionstart;

if (index>0)}

index = clipboardtext.indexof(strnum[2]);

if (index!=-1)}

for(int i=0; i

JS 遮蔽非數字字元的輸入

為了避免無效資料的另一種方法是在使用者錄入資料時 對無效輸入進行遮蔽,例如在輸入銀行卡號時,要求使用者必須輸入數字,當使用者輸入非數字字元是,給出提示。下面給出 以上 中 is number 函式 用於遮蔽非數字字元的輸入。函式中,通過event 物件 的屬性 得到按下 鍵 的 unicode 編碼...

查出數字字元字段中非數字字元的記錄

最近,將原來的數字符欄位轉換為數字時,總報錯誤 無效數字。如何找出其中哪些是非數字字元的記錄?比較麻煩的事。下面是用oracle db自帶的函式translate可以找出來的 1.建立測試表 create table testchar item number varchar2 20 2.手工插入測試...

查出數字字元字段中非數字字元的記錄

最近,將原來的數字符欄位轉換為數字時,總報錯誤 無效數字。如何找出其中哪些是非數字字元的記錄?比較麻煩的事。下面是用oracle db自帶的函式translate可以找出來的 1.建立測試表 create table testchar item number varchar2 20 2.手工插入測試...