我怎么能验证1-10; (1000,125)...使用javascript正则表达式

时间:2011-11-15 04:20:48

标签: javascript regex

希望每个人都能做到最好。

有人可以帮我创建regexp以验证以下值格式

有效值:

1-24; (1000,125),(1000,125),(1000,125)
1-10; (1000,125)
1-15; (1000,125),(1000,125)
** p在哪里1-24;应该是适用的值范围;最大值应为24

无效值:

1-15; (1000,125),
1-50; (1000,125)
1; (1000,125)

谢谢你们!

1 个答案:

答案 0 :(得分:1)

好的,根据你的评论,我想我得到了你所要求的。你说这是有效的,输入的值必须以1到24之间的数字开头,然后是破折号,然后是1到24之间的另一个数字,然后是分号和空格,然后是括号中的1对或更多数字。括号内的对应用逗号分隔,但没有逗号。

基于这种理解,我建议使用这样的正则表达式:

/^([1-9]|1\d|2[0-4])-([1-9]|1\d|2[0-4]); (\(\d+(\.\d+)?,\d+(\.\d+)?\),)*\(\d+(\.\d+)?,\d+(\.\d+)?\)$/

抱歉,关于开头的“x-y”范围,我不知道正则表达式方法来验证第二个数字是否大于或等于第一个数字。括号中的数字显然允许小数位,但是你只给出了一些例子,而不是关于有多少位数,最大值或最小值或其他的规则,所以我假设至少有一个数字,后跟可选的小数位,并且至少一个数字。

我没有测试过上面的内容。如果表达式中的任何内容没有意义,您可以随意查看网络上七个历史正则表达式指南中的一个,例如http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/