C 開發掩碼輸入文字框

2021-08-29 06:42:47 字數 1635 閱讀 2910

碼輸入是一種常用的控制項,我記得第一次看見這種控制項是在visual foxpro中!感覺功能強,不錯。現在用c#開發asp.net應用程式也需要用到這種輸入的控制項,便琢磨著自己做乙個。但是由於visual foxpro中的掩碼文字框功能太強了,一時還不敢去做。網上也有一些自製的如:但是感覺功能都不很適合。後來在上看到了他們做的掩碼文字框,感覺這種方式在web應用上很適合,就把客戶端**down下來了!(stedy software 作的是產品,要花錢!而且很貴79.99usd,ft。)

分析了一下stedy的客戶端指令碼(vbscript)他們為每一種掩碼規則都作了乙個客戶端的方法。如下面是日期掩碼格式化的客戶端指令碼**:

function maskdate(svalue, stype)

dim zmonth

zmonth = array("january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december")

if len(trim(svalue)) = 0 then

maskdate = ""

setviewstate false

elseif not(isdate(svalue)) then

maskdate = "# invalid date entered #"

setviewstate true

else

select case (stype)

case "medium"

maskdate = day(datevalue(svalue)) & "-" & left(zmonth(month(datevalue(svalue)) - 1), 3) & "-" & year(datevalue(svalue))

case "long"

maskdate = zmonth(month(datevalue(svalue)) - 1) & " " & day(datevalue(svalue)) & ", " & year(datevalue(svalue))

case else

maskdate = formatdatetime(svalue, vbshortdate)

end select

setviewstate false

end if

end function

可以看到處理方式是將文字框中的字串格式化,如果格式化成功則顯示為格式化後的字串,否則顯示"# invalid date entered"。其他的方法與之類似,像maskcurrency, maskssn什麼的。

masktextbox客戶端有兩個自定義屬性

第乙個是掩碼格式,第二個是文字框真實值,如:¥30.00真實值為:30.00。

目前遇到的問題有乙個:

客戶端的文字框如何才能回傳給伺服器上面所說的兩個屬性?

想了半天,覺著還是用乙個hidden型別的控制項儲存掩碼文字框的真實值。這樣回傳給伺服器的時候就能通過對應的hidden控制項的value屬性取得真實值!

c# **片段如下:

protected override void render(htmltextwriter output)

文字框輸入限制

1.文字框只能輸入數字 小數點也不能輸入 2.只能輸入數字,能輸小數點.3.數字和小數點方法二 4.只能輸入字母和漢字 5.只能輸入英文本母和數字,不能輸入中文 6.只能輸入數字和英文chun 7.小數點後只能有最多兩位 數字,中文都可輸入 不能輸入字母和運算符號 57 event.keycode ...

禁止文字框輸入

如下 readonly disabled autocomplete readonly表示此域的值不可修改,僅可與 type text 配合使用,可複製,可選擇,可以接收焦點,後台會接收到傳值.如下 disabled表示禁用input元素,不可編輯,不可複製,不可選擇,不能接收焦點,後台也不會接收到傳...

禁止文字框輸入

如下 readonly disabled autocomplete readonly表示此域的值不可修改,僅可與 type text 配合使用,可複製,可選擇,可以接收焦點,後台會接收到傳值.如下 type text name www.readonly readonly disabled表示禁用in...