我想使用正则表达式来验证输入是否
空 -> 到 100
示例:0 或 1 或 10,1 或 20.2 或 99
只有正值,0 或空值到 100,并接受点和逗号。任何人都可以给我正确的 C# 正则表达式吗?
非常感谢 :)
可以在此处找到大量数字正则表达式的示例
正则表达式是关于匹配字符。它不了解数字。
尝试使用 解析它double.TryParse()
,如果由于字符串使用,
as 而不是 而失败.
,请替换,
为.
然后重试。
尝试这个:
(100|\d{1,2}[.,]\d+)
但Double.Parse()
在这里使用更正确。
string str = '10,1';
bool valid = false;
double num = -1;
str = str.Replace(",", ".");
if (String.IsNullOrEmpty(str)) {
valid = true;
} else {
try {
num = Double.Parse(str);
} catch (Exception ex) {
valid = false;
}
if (num >= 0 && num <= 100) {
valid = true;
}
}
*我为什么不Double.TryParse()
改用?
可悲的是,解析失败会使结果0
为有效条件。