使用+或 - 验证十进制作为可选

时间:2013-04-12 06:02:21

标签: c# regex

我已经尝试了一个正则表达式来根据需求验证十进制值,这对正整数有效,但是当我为+ or -选择它时,我无法验证它是否可以帮助我这是我的表达式

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

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

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

如果没有,我建议使用decimal.TryParse()。 e.g。

public bool IsValidDecimal(string value)
{
    decimal test;
    return decimal.TryParse(value, NumberStyles.Any, CultureInfo.CurrentCulture, out test);
}

使用.TryParse()的一个好处是它会为您处理不同的文化。不同的国家/地区使用不同的标记作为小数范围。例如,在美国,.是分隔符,而在俄罗斯使用,

相关问题