Javascript 正则表达式匹配有效的整数或十进制数(可以是正数或负数)

Javascript 正则表达式匹配有效的整数或十进制数(可以是正数或负数),javascript,regex,extjs,textfield,Javascript,Regex,Extjs,Textfield,我希望我的ExtJS文本字段只允许数字和小数(正数和负数)。我需要一个正则表达式来允许整数或十进制数,可以是正数或负数。 应匹配- 1) 123 2) 123.23 3) -123 4) A-123.23 不应与 1) --123 2) -2323- 3) 23.23.23 4) 34..34^-?([0-9]+))|([1-9]+[0-9]*(\[0-9]+))$() 已经测试过了,并且可以正常工作 0 1 12 123 0.1 1.12 12.0123 -1 -12 -0.1 -1.12 -

我希望我的ExtJS文本字段只允许数字和小数(正数和负数)。我需要一个正则表达式来允许整数或十进制数,可以是正数或负数。 应匹配-

1) 123
2) 123.23
3) -123
4) A-123.23

不应与
1) --123
2) -2323-
3) 23.23.23
4) 34..34

^-?([0-9]+))|([1-9]+[0-9]*(\[0-9]+))$
()

已经测试过了,并且可以正常工作

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(\[0-9]+))|([1-9]+[0-9]*(\[0-9]+))$
()

已经测试过了,并且可以正常工作

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
试试这个

const regex=/^([-])?\d+(\.\d+)$/
常数validInputs=[123123.23,-123,-123.23'-123.23'-123.23'-01.123']
const invalidinput=['-123','-2323-','23.23.23','34..34']
用于(有效输入的常数项){
console.log(`test${item}=>${regex.test(item)}`)
}
console.log('============================')
for(工程量项目){
console.log(`test${item}=>${regex.test(item)}`)
}
试试这个

const regex=/^([-])?\d+(\.\d+)$/
常数validInputs=[123123.23,-123,-123.23'-123.23'-123.23'-01.123']
const invalidinput=['-123','-2323-','23.23.23','34..34']
用于(有效输入的常数项){
console.log(`test${item}=>${regex.test(item)}`)
}
console.log('============================')
for(工程量项目){
console.log(`test${item}=>${regex.test(item)}`)
}
这对我不起作用

  • 0123因为前导0没有意义
  • 由于小数点后没有数字
  • .123由于小数点前没有数字
试一试

这对我不起作用

  • 0123因为前导0没有意义
  • 由于小数点后没有数字
  • .123由于小数点前没有数字


试一试

到目前为止,您是如何做到这一点的?当它要求使用regex而不是Javascript函数时,它是如何重复的?为什么不使用“numberfield”?到目前为止您是如何做到这一点的?当它要求使用regex而不是Javascript函数时,它是如何重复的?为什么不使用“numberfield”?用
-01.123
添加了'-01.123',它的工作非常精确。那不是一个有效的数字。在Javascript中,它会引发
uncaughtsyntaxerror:Unexpected number
使用
-01.123
added'-01.123'对其进行测试,结果非常精确。那不是一个有效的数字。在Javascript中,它引发了
Uncaught SyntaxError:意外数字
不匹配1,1.12,-1,-1.12,已修复,感谢指出感谢帮助@SimonIt不匹配1,1.12,-1.12,已修复,感谢指出感谢帮助@Simon@varlogtim它匹配所有列出的:)甚至1.1231是的,我改变了我的不只是2个数字,而是一个或多个。你的匹配在“2”和“3”上。它允许拖尾点。还有很多父母。。。很晚了@瓦洛蒂姆:完成了。忘了考虑这个了。谢谢你的帮助。我想Ext.isNumeric(num)也可以做同样的工作。@varlogtim它匹配所有列出的:)甚至1.1231231是的,我把我的更改为不只是2个数字,而是一个或多个。你的匹配在“2”和“3”上。它允许拖尾点。还有很多父母。。。很晚了@瓦洛蒂姆:完成了。忘了考虑这个了。谢谢你的帮助。我认为Ext.isNumeric(num)也可以做同样的工作。