我希望我的extjs textfield只允许数字和小数(sutitve and Natect)。我需要一个正则允许一个可以正面或负数的整数或小数数。应该匹配 -
1)123
2)123.23
3)-123
4)-123.23
不应匹配
1)-123
2)-2323-
3)23.23.23
4)34..34
^-?((0(.[0-9]+)?)|([1-9]+[0-9]*(.[0-9]+)?))$
(link)
测试了它,它在
上起作用0
1
12
123
0.1
1.12
12.0123
-1
-12
-0.1
-1.12
-12.0123
-0
和dosnt上的工作:
--123
-2323-
23.23.23
34..34
^-?(0|([1-9][0-9]*))(.[0-9]+)?$
它不适用于
- 0123由于领先0是没有意义的
- 由于十进制后没有数字
- .123由于小数前没有数字
https://regex101.com/r/d3q4ti/1尝试一下
尝试此
const regex = /^([-])?d+(.d+)?$/
const validInputs = [123, 123.23, -123, -123.23, '-123.23', '-01.123']
const invalidInputs = ['--123', '-2323-', '23.23.23', '34..34']
for (const item of validInputs) {
console.log(`test ${item} => ${regex.test(item)}`)
}
console.log('=======================')
for (const item of invalidInputs) {
console.log(`test ${item} => ${regex.test(item)}`)
}