我对正则表达式不是很新,但到目前为止我还没能找到适合我问题的表达式:
我想检查用户在文本字段中键入的字符串.该字符串必须由一个或多个用分号分隔的术语组成.
实际上有两种类型的术语:
第一个由数字组成,后跟连字符,然后再跟一个数字,例如1-4或22-44
第二项由重复零次或多次的数字和逗号组成,例如1,2或4,5,6
所有术语必须以分号结束.
有效输入将是:1-4;5,6,7;9-11;或1,3;4-6;8,9,10;
我已经尝试了很多变化但到目前为止找不到解决方案.我的问题是这个输入字符串可能包含任意数量的术语.我试图OR分别用操作员和"lookahead" 解决这个问题,但没有成功.
任何帮助将非常感激.
非常感谢,恩
这个正则表达式应该可以满足您的需要:
/^(?:[0-9]+-[0-9]+;|[0-9]+(?:,[0-9]+)*;)+$/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |