JavaScript-Regular表达式

enn*_*e87 5 javascript regex

我对正则表达式不是很新,但到目前为止我还没能找到适合我问题的表达式:

我想检查用户在文本字段中键入的字符串.该字符串必须由一个或多个用分号分隔的术语组成.

实际上有两种类型的术语:

  1. 第一个由数字组成,后跟连字符,然后再跟一个数字,例如1-422-44

  2. 第二项由重复零次或多次的数字和逗号组成,例如1,24,5,6

所有术语必须以分号结束.

有效输入将是:1-4;5,6,7;9-11;1,3;4-6;8,9,10;

我已经尝试了很多变化但到目前为止找不到解决方案.我的问题是这个输入字符串可能包含任意数量的术语.我试图OR分别用操作员和"lookahead" 解决这个问题,但没有成功.

任何帮助将非常感激.

非常感谢,恩

Edo*_*odo 4

这个正则表达式应该可以满足您的需要:

/^(?:[0-9]+-[0-9]+;|[0-9]+(?:,[0-9]+)*;)+$/
Run Code Online (Sandbox Code Playgroud)