2011-04-05 73 views
0

在Asp.Net上,在我的文本框中,我不想在零後三位輸入數字。 例如,如果您輸入文本框0.222,它應該是0.22。在0.22之後,你不應該輸入任何東西。我怎樣才能做到這一點?十進制數字問題

謝謝

+0

您的意思是說您要防止用戶在小數點後兩位數以上_typing_? – 2011-04-05 07:12:43

+0

Onsubmit,驗證輸入的內容。例如/\.\d\d$/.test(input.value) – RobG 2011-04-05 07:15:53

回答

1

使用Masked TextBox

+0

Yes.But after Point.For例如,如果我輸入1.222它應該是1.22但是你可以輸入12345只是我想在點 – Ayka 2011-04-05 07:19:47

+0

之後刪除你爲什麼要這麼做那?如果您只想在小數點後有兩位數字,爲什麼您會允許用戶輸入更多?爲什麼不限制他首先輸入兩位數以上? – 2011-04-05 07:21:45

+0

它與數學計算有關。如果你寫11111,計算是可以的。但1.2222是不同的。我們的功能不接受。後面我們不想輪,只是刪除。 – Ayka 2011-04-05 07:38:42

0

我認爲最好使用Expression而不是Masked Textbox

用一個簡單的RegularExpressionValidator你能夠做到這一點,只需將一個在您的工作表,然後設置它的TargetControl到你的文本框,然後將其值設置爲^\ddd

+0

您的正則表達式甚至不會鬆散地類似於他的要求... 0.22將無效,1dd將是有效... – 2011-04-05 07:44:56

0

使用javascript在標籤上添加屬性onkeyup ='formatNumber(this)'。

function formatNumber(textBox) { 

    var current = textBox.value; 
    var output = ""; 

    //find '000' in current 

    //delete what you want 

    textBox.value = output; 
}