Javascript 正确数值的验证
正则表达式Javascript 正确数值的验证,javascript,regex,Javascript,Regex,正则表达式/^-?\d*(\.\d+)$/对负整数和正整数以及十进制值进行正确的验证。但我希望将正则表达式扩展一点,以解决以下问题: 该值可以为0,但不应为-0。仅当它是0.1之类的浮点值时,才应支持负值 任何数字都不应以前导零开头,例如整数0本身或以0.1开头的十进制值除外。但是不应该有任何像00或00.01这样的值 空值的验证 这样做的目的是确保单个正则表达式执行完整的验证,而不是执行多个检查。我认为这应该可以: /^(0 |-?(0.\d+[1-9]\d*(\.?(\d+))$/ 深受伊尔
/^-?\d*(\.\d+)$/
对负整数和正整数以及十进制值进行正确的验证。但我希望将正则表达式扩展一点,以解决以下问题:
这样做的目的是确保单个正则表达式执行完整的验证,而不是执行多个检查。我认为这应该可以:
/^(0 |-?(0.\d+[1-9]\d*(\.?(\d+))$/
深受伊尔米隆影响回答:
^(0|-?(0\.\d+|[1-9]\d*(\.\d+)?))$
您想禁止负整数值,我说的对吗?>我们的想法是确保单个正则表达式执行完整的验证,而不是执行多个检查。这是个坏主意。几个简单的检查比一个巨大的正则表达式更清晰、更可靠。@alexeyten:OGHaza给出的正则表达式正是我想要的。修复了,没有注意到你已经回答了。谢谢你的信任:)
^(0|-?(0\.\d+|[1-9]\d*(\.\d+)?))$