正则表达式只接受整数和十进制数

时间:2015-02-24 09:26:48

标签: regex extjs

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

这是我的代码......

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

    }

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

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

  • 使用\ d *而不是小数点前的\ d +来匹配零个或多个数字。
  • 还要添加锚点(^和$),否则只要有匹配就会传递 可用。
  • 这也会验证一个空字符串,所以如果有必要,你可以使用
    期待确保至少有一个数字:

使用以下代码:

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

}

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

答案 1 :(得分:1)

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

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

这将接受:

  • 123
  • 0.123
  • 123.

答案 2 :(得分:0)

如果要限制小数位数,可以使用此方法:

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

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