必须接受:
不得接受:
目前我有这个代码:
if (System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text, "[^0-9]"))
{
MessageBox.Show("Please enter only numbers.");
//textBox1.Text.Remove(textBox1.Text.Length - 1);
textBox1.Text = string.Empty;
}
只接受数字
最佳答案
与其尝试使用 RegEx 来验证自己,不如使用一些内置功能来获得所需的结果。
一种方法是:
var culture = CultureInfo.CreateSpecificCulture("en-US");
decimal currency;
if (Decimal.TryParse(textBox1.text, NumberStyles.Currency, culture, out currency))
{
// Its a valid currency value
}
else {
// NOt a valid currency.
MessageBox.Show("Please enter a valid currency.");
}
这也适用于您不想将应用程序用于不同文化的情况(当然前提是您没有硬编码“en-US”)。
阅读更多关于 Decimal.TryParse here 的信息。
关于c# - c#中货币值(value)的正则表达式验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32366227/