正则表达式只接受整数和小数

regular expression to accept only integers and decimal numbers

我正在使用 ext js.I 有一个文本字段应该接受整数或小数。我正在使用正则表达式来实现它。但它不起作用。

这是我的代码...

    {
        xtype: 'textfield',
        id: 'myField',
        fieldLabel: 'Text Field(numbers-only)',                      
        maskRe: /[0-9]+(\.[0-9]+)?$/

    }

使用上述正则表达式时,Textfield 不接受 .(点)

我该如何解决这个问题?

  • 在小数点前使用 \d* 而不是 \d+ 来匹配零个或多个数字。
  • 还要加上锚点(^和$)不然只要有匹配就pass 可用的。
  • 这也会验证一个空字符串,因此如果需要,您可以使用
    向前看以确保至少有一位数字:

使用下面的代码:

 {
         xtype: 'textfield',
         id: 'myField',
         fieldLabel: 'Text Field(numbers-only)',                      
         maskRe: /^[1-9]\d*(\.\d+)?$/

}

根据您的理解目的,请参阅此 link Click Here

如果你想限制小数位数,你可以使用这个:

^\d+(\.\d{1,2})?$

这将使您传递小数位至少 1 位但不超过 2 位

不确定我是否完全理解您的需求,但这可以吗?

/^[0-9]+(\.[0-9]*)?$/

这将接受:

  • 123
  • 0.123
  • 123.