我试图实现某种计算器,并且我已经获得了一些小的Javascript(AngularJS)验证。 只允许用户在输入
中写入有效的数字目前我的正则表达式如下:
/^\d+[,\.]?\d*$/
我只获得了数字,但它也接受了一个零(并且禁止使用零点)和数字开头处的零,就像" 00098"。
有没有办法告诉正则表达式接受" 0"只有当它后跟一个"。"或","如果它被1-9的数字所包围?
有效示例:
111.19282
14,282
19
无效的例子:
000100
00.001
0
无效的示例:其中包含字母的所有内容
非常感谢你的帮助。
答案 0 :(得分:3)
好像你想要这样的东西,
^(?!0)\d+([,.]\d+)?$
开头的否定前瞻(?!0)
声称字符串在第一个字符串中不会包含0
。
如果您想允许0.12
^(?!0(?:\d|$))\d+([,.]\d+)?$
答案 1 :(得分:1)
答案 2 :(得分:-1)