首页 > 解决方案 > 正则表达式验证非零数

问题描述

我的要求是验证一个非零数字。我使用的正则表达式如下。

^[1-9]?\d+(\.\d)?\d*$

有效值应该是

无效值

基本上任何以 0 开头或具有多个 1 的值。或 时不提供小数点。添加,不正确。

标签: javascriptregexexpression

解决方案


^[1-9]\d*(?:\.\d+)?$

https://regex101.com/r/wHZUoW/1

- 由于您不希望数字以 开头0,因此您不应[1-9]将开头的数字设为可选?

- 作为一般的良好做法,使用非捕获组(?: ... )而不是捕获组,因为以后不需要引用内容。


推荐阅读