所有数字的正则表达式,但没有零

Regular Expression for all Numbers but no Zero

本文关键字:正则表达式 数字      更新时间:2023-09-26

我试图实现某种计算器,我有一些小的Javascript(AngularJS(验证。只允许用户在输入中写入有效的数字

目前我的正则表达式如下所示:

/^'d+[,'.]?'d*$/

我只得到数字,但它也接受零(禁止用零来定义(和数字开头的零,就像"00098"一样。

有没有办法告诉正则表达式只有在后面跟着"."或","并且被 1-9 的数字包围时才接受"0"?

有效示例:

111.19282
14,282
19

无效示例:

000100
00.001
0

无效示例:包含字母的所有内容

非常感谢您的帮助。

似乎你想要这样的东西,

^(?!0)'d+([,.]'d+)?$

开头的负面前瞻(?!0)断言字符串在开始时不包含0

演示

如果您想允许像 0.12 这样的数字,请使用下面的正则表达式

^(?!0(?:'d|$))'d+([,.]'d+)?$

演示

^(?!0(?!'.))'d+([,'.]'d+)?$

你可以试试这个。请参阅演示。

https://regex101.com/r/vN3sH3/54

试试这个:

^[1-9'.',]+$

现场演示