所以我有一個小計文本框,其中可以輸入金額如$ 546.75。現在,我想確保只有數字,一位小數,一美元符號和逗號只允許每三個地方(100,000,000)。這可能嗎?也許不是逗號,但至少是數字,小數和美元符號。限制在文本框中允許的字符(輸入金額)
1
A
回答
1
我認爲你正在使用的WinForms和WPF沒有。如果是這種情況,那麼你可以使用System.Windows.Forms.ErrorProvider(你可以將一個從工具箱拖放到你的表單)和正則表達式一起進行驗證。
警告:下面的正則表達式模式字符串可能不是你想要的,但希望傳達這個想法。
一些比賽的例子...... 「$ 4,000.00」, 「 - $ 4000.00」, 「 - $ 400.00」
private void textBox1_Validating(object sender, CancelEventArgs e)
{
string error = null;
string pattern = @"^\$?\-?([1-9]{1}[0-9]{0,2}(\,\d{3})*(\.\d{0,2})?|[1-9]{1}\d{0,}(\.\d{0,2})?|0(\.\d{0,2})?|(\.\d{1,2}))$|^\-?\$?([1-9]{1}\d{0,2}(\,\d{3})*(\.\d{0,2})?|[1-9]{1}\d{0,}(\.\d{0,2})?|0(\.\d{0,2})?|(\.\d{1,2}))$|^\(\$?([1-9]{1}\d{0,2}(\,\d{3})*(\.\d{0,2})?|[1-9]{1}\d{0,}(\.\d{0,2})?|0(\.\d{0,2})?|(\.\d{1,2}))\)$";
if (!Regex.IsMatch(textBox1.Text, pattern))
{
error = "Please enter a US currency value.";
e.Cancel = true;
}
errorProvider1.SetError((Control)sender, error);
}
2
1
4
爲什麼不把錢標記「$」放在文本框的外側(創建一個標籤只是infrontof文本框),那麼你將不必擔心這個字符,而只是關於數字。它看起來更好(在我看來)。 然後你可以使用此代碼:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar != (Char)Keys.Back) //allow backspace (to delete)
{
e.Handled = !char.IsNumber(e.KeyChar);
}
}
1
// TB - 是文本框的名稱
private void tb_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
char[] inputChar = e.Text.ToCharArray();
if (char.IsNumber(inputChar[0]))
{
e.Handled = false;
}
else
{
e.Handled = true;
}
//另一方法。
if (char.IsDigit(inputChar[0]))
{
e.Handled = false;
}
else
{
e.Handled = true;
}
}
0
相關問題
- 1. 允許在文本框中輸入非英文字符
- 2. 允許用戶在文本框中輸入轉義字符
- 3. Virtuemart中的自定義字段允許用戶輸入金額
- 4. 表單輸入文本字段中允許的字符數限制
- 5. 如何限制輸入文本框允許只有0和1
- 6. 限制用戶輸入0作爲第一個字符,但允許在文本框中輸入10
- 7. 只允許在asp.net中的文本框中輸入字母字符
- 8. 限制對文本框的輸入:僅允許數字和小數點
- 9. Java - 字符串輸入錯誤,允許額外的輸入
- 10. C# - 允許在文本框中輸入&符號並存儲
- 11. 輸入文本框字段只允許字符不允許數字,但允許空間?
- 12. 在文本框輸入中限制字符
- 13. 限制文本輸入,只允許在PHP
- 14. 只允許在文本框中輸入數字
- 15. 只允許在WPF文本框中輸入數字
- 16. 在文本框中輸入金額的驗證
- 17. 只允許在文本框中輸入數字和特殊字符( - )
- 18. Dojo富文本編輯器中允許的字符數限制
- 19. 輸入框,允許富文本功能
- 20. 角度限制不允許在文本字段中輸入空格
- 21. 僅允許輸入數字而不是在C#中輸入NumericUpDown的文本框
- 22. 在WebKit文本輸入中允許超過524288個字符
- 23. JavaScript限制文本輸入字符
- 24. 文本輸入字符限制
- 25. Jquery限制輸入框中的文本
- 26. 允許空文本框,但不允許輸入無效
- 27. 如何限制「正數」僅作爲文本框的輸入(僅允許「-99」)?
- 28. 如何允許輸入文本和數字,但不允許特殊字符?
- 29. AngularJS問題只允許將數字輸入到文本框中
- 30. 限制一個文本框,以允許在開始時使用特殊字符
請不要在您的標題中添加諸如「 - WinForm C#」之類的東西。這就是我們在這裏使用標籤的原因。 –
好吧,對不起,請記住 – cb1295