如何使用Regex将用户输入限制为数字字段,允许在数字字段前输入一个小数和一个负号

pu82cl6c  于 2022-11-26  发布在  其他
关注(0)|答案(2)|浏览(165)

我尝试在JavaScript中使用Regex,只允许输入数值,字符串前面可能有一个负号,以及一个小数点。这个输入值也只允许10位数。
目前,当用户输入文本时,我有这样的逻辑,它只允许数字、负号和小数。但是,我希望将负号的数量限制为1,并且只允许在字符串的前面。此外,我希望将小数的数量限制为1。

input.slice(0, 10).replace(/[^0-9.\-]/, '');

谁能帮我想想办法

eqfvzcg8

eqfvzcg81#

您可以:

input.slice(0, 10).match(/([-]?)([0-9]+)([.]?)([0-9]?)/);
1bqhqjot

1bqhqjot2#

短而甜。

/^-?\d{0,10}(\.\d{0,3})?$/
  • 开始时的可选负电荷
  • 最多允许10位数字
  • 也是可选的小数点组,最多有3个小数位

这些屏障可以相应地修改。

相关问题