验证带有+或-的小数是可选的

本文关键字:小数 验证 | 更新日期: 2023-09-27 18:09:00

我已经尝试了一个正则表达式来验证一个十进制值,根据要求,这适用于正整数,但当我使其为+ or -可选时,我无法验证它,有人可以帮助我这是我的表达式

ValidationExpression="^[-+][0-9]+('.([0-9]{1,3})?)?$"

验证带有+或-的小数是可选的

您必须使用?修饰符使符号可选,[-+]与允许的字符一起表示zero or one + or -

ValidationExpression="^[-+]?[0-9]+('.([0-9]{1,3})?)?$"

你必须使用正则表达式吗?

如果没有,我建议使用decimal.TryParse()。例如
public bool IsValidDecimal(string value)
{
    decimal test;
    return decimal.TryParse(value, NumberStyles.Any, CultureInfo.CurrentCulture, out test);
}

使用.TryParse()的一个优点是它可以为您处理不同的文化。不同的国家使用不同的标记作为十进制分界器。例如,在美国,.是分隔符,而在俄罗斯使用,