作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当用户开始在输入字段中输入时,我想验证一个数字。我尝试使用以下正则表达式,但它不能完全正常工作。
/^\d+(?:\.\d{1,3})?$/
如我所料,以下情况很满意。120
---> 正确,120.2
---> 正确,120.123
--> 正确120g
--> 错误
它没有满足我预期的单个案例。
120.
--> 返回 false --> 但我期待 true。
谁能帮帮我。
谢谢
最佳答案
您需要可能的 .
后面的数字是可选的,以防用户刚刚输入句点但尚未进一步输入。使用 \d{0,3}
而不是 \d{1,3}
:
console.log(/^\d+(?:\.\d{0,3})?$/.test('120.'));
如果您想验证是否没有尾随句点,请在用户指示输入完毕后执行此操作,例如在表单提交时,在这种情况下您可以使用原始正则表达式。
关于javascript - 正则表达式在键入时验证数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51797982/
我是一名优秀的程序员,十分优秀!