[英]Regex for decimal number validation in C#
我需要允许正负范围小数的正则表达式
像.89
, -1000
, 0.00
, 0
, 300
,......
我的正则表达式是^\\d*\\.?\\d*
问题是,当您输入$
,!之类的特殊字符时!
, *
然后接受这些字符。
代替正则表达式,我将使用decimal.Parse
进行解析,并使用AllowDecimalPoint
和AllowLeadingSign
样式以及具有的区域性.
如NumberDecimalSeparator
一样,如InvariantCulture
。
var d = decimal.Parse("-.89",
NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign,
CultureInfo.InvariantCulture);
这捕获了您提到的所有需求。
您错过了反斜线! 在正则表达式中,单个点具有不同的含义。
public static bool IsValidDecimal()
{
string input = "132456789"
Match m = Regex.Match(input, @"^-?\d*\.?\d+");
return m.Success && m.Value != "";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.