数字输入不得超过8位(小数点两边的数字)。例如:123456.78或0.12或1.23
数值应能够接受负数。例如:-0.8或-1.23
最多2个十进制数
数值在输入框中不应包含任何字母缩写
我尝试创建以下正则表达式,但无法高效地解决
^-?[0-9]\d*(\.\d+)?[,8]$
Run Code Online (Sandbox Code Playgroud)
要匹配所需的位数而不是其他位数,请在模式的开头先行查找(?:\d\.?)1至8次,然后匹配\d*(?:\.\d{1,2})?$以匹配一个数字(如果包含小数,则最多包含2个小数字符):
^-?(?=(?:\d\.?){1,8}$)\d*(?:\.\d{1,2})?$
Run Code Online (Sandbox Code Playgroud)
https://regex101.com/r/rQMRVX/5
(除非您需要捕获小数部分,否则它可以像上面那样是一个非捕获组)
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |