正则表达式用于价格验证

use*_*652 7 regex validation

需要正则表达式有:

  1. 十进制(.)点前最多8位数
  2. 小数点后最多4位数
  3. 小数点是可选的

最大有效小数是十进制前的8位和小数后的4位所以99999999.9999

我试过的常规rexpression ^\d {0,8} [.]?\ d {1,4} $失败了123456789并且超过了这个.表示如果小数点不可用,则超过8位数.

在这里测试:http://regexpal.com/

非常感谢提前!

小智 9

^\d{0,8}(\.\d{1,4})?$
Run Code Online (Sandbox Code Playgroud)

您可以使整个十进制可选


Cas*_*yte 8

你可以试试这个:

^\d{1,8}(?:\.\d{1,4})?$
Run Code Online (Sandbox Code Playgroud)

要么

^[1-9]\d{0,7}(?:\.\d{1,4})?$
Run Code Online (Sandbox Code Playgroud)

如果您不希望第一个数字为零.

如果您愿意,可以允许:(.1234)

^[1-9]\d{0,7}(?:\.\d{1,4})?|\.\d{1,4}$
Run Code Online (Sandbox Code Playgroud)