【问题标题】:Regular Expression (Regex) to allow numbers 0.1 to 100.0正则表达式 (Regex) 允许数字 0.1 到 100.0
【发布时间】:2013-10-01 19:35:23
【问题描述】:

我正在继续清理我工作场所的一堆网站,并且几乎完成了添加验证,我还有这个问题。

我有一个默认设置为 100.0 的数字。我需要允许从 0.1 到 100.0 的输入。我目前有一个有效的表达式,但允许 0 和 0.0 和 00.0,这些值会使我的程序崩溃。 这是我目前的表达方式:

^(\d{0,2}(\.\d{1})?|100(\.0?)?)$

当前的表达式允许 0.2 .2 和 00.2 之类的数字,没关系,我就是不能让它接受 00.0、0.0 和 0。

同样,这只是数字,一个或没有小数,以及 0.1 到 100.0。

感谢您的帮助。

【问题讨论】:

  • 如果您对其他方法持开放态度,我会考虑使用范围验证器

标签: asp.net regex vb.net validation


【解决方案1】:

这样的模式应该可以工作:

^(0\.[1-9]|[1-9][0-9]{,2}\.[0-9])$

这将匹配0.,后跟从19 的数字,或从19 的数字后跟零、一位或两位从0 到@ 987654328@,一个. 和另一个从09 的数字。

另一种解决方案是使用前瞻:

^(?=.*[1-9])\d{1,3}\.\d$

这将匹配一到三个数字,然后是 .,和另一个数字,但前提是该序列包含从 19 的数字。

但是,我建议将数字解析为小数并直接检查其范围。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 2011-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多