我正在使用ExtJS。一个与ExtJS的部件制成应该允许逗号分隔数/ opeator串(3个类似的例子)等修改数字和数字范围表达式的正则表达式
1, 2-3, 4..5, <6, <=7, >8, >=9
>2, 3..5, >=9,>10
<=9, 1, <=8, 4..5, 8-9
在这里,我使用equals文本字段,范围的( - ),序列(..)大于/等于大于&运营商的数字小于或等于100.这些数字用逗号分隔。
什么可以是这种类型的字符串的正则表达式?
对于我以前问的问题..我从 “dlamblin” 的解决方案: ^(?:\d+(?:(?:\.\.|-)\d+)?|[<>]=?\d+)(?:,\s*\d+(?:(?:\.\.|-)\d+)?|[<>]=?\d+)*$
这完美的作品针对所有模式除外:
只有关系运算符(
<
,<=
,>
,>=
)作为字符串的第一个元素存在。例如。<=3, 4-5, 6, 7..8
工作完美,但<=3, 4-5, 6, 7..8, >=5
关系运算符不在字符串的第1个元素。也字符串
<3<4, 5, 9-4
不会给出任何错误,即它是令人满意的条件,虽然<3
和<4
之间需要逗号。数字串中应小于或等于100。即
<100
,0-100
,99..100
它不应该允许前导零(如
003
,099
)
你是指正整数不大于100,或者是0和负数是允许的吗? – 2009-11-16 18:26:16
字符串中的数字只能在0到100之间。 – user211607 2009-11-16 18:31:36