我有一个用于输入角度应用程序的指令。
我正在建立用于接受的正则表达式:
不接受:
我必须逐个字符检查char,这不是在输入中输入整数。我的尝试不起作用。
^[,]{0,1}\d{0,10}[,]{0,1}([.]?\d{0,2})
答案 0 :(得分:1)
在大多数情况下,您可以使用
^\d+(?:,\d+)*(?:\.\d+)?$ // 432 or 4.653 or 1,44,43211 or 1,4456,43211754.876597
详细信息
^
-字符串的开头\d+
-1个以上数字(?:,\d+)*
-重复,
和1个以上数字0个或更多(?:\.\d+)?
-.
和1个以上数字的1或0重复$
-字符串的结尾。使用限制量词和超前来施加长度限制。例如:
^(?!(?:,?\d){6})\d+(?:,\d+)*(?:\.\d{1,3})?$
^^^^^^^^^^^^^^^
如果数字的整数部分中有6个或更多位数,则(?!(?:,?\d){6})
否定超前查询将使匹配失败。如果您想限制整数长度,请将前行更改为(?!.{6})
,它将仅匹配最多5个字符的数字:1
,1.55
,35.99
,而不是{{ 1}}(= 6个字符)。