我想使用RegEx来验证输入是
空 - >到100
例如:0或1或10,1或20.2或99
仅正值,0或null值为100,并接受点和逗号。 有人可以给我正确的C#正则表达式吗?
非常感谢:)
答案 0 :(得分:0)
答案 1 :(得分:0)
可以在这里找到许多用于数字正则表达式的样本
答案 2 :(得分:0)
正则表达式是关于匹配字符。它不了解数字。
尝试使用double.TryParse()
解析它,如果由于字符串,
代替.
而失败,请将,
替换为.
,然后再试一次。
答案 3 :(得分:0)
试试这个:
(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
达到有效状态。