С по-долу реге-шаблон, следващ диапазон от номераса съвпадащи или не съвпадат, което е добре, както се очакваше. Единственият проблем, който имам, е когато имам диапазон 2-10 или 8-12 (единична цифра до двойна цифра), след това този модел не съвпада
Примери
1 мач
1-2 мача
-2 не съвпадат
1, 2-3, 4, 5-7 мача
1 2, 3 не съвпадат
1-2-2 не съвпадат
10-15 мача
2-10 не съвпадат // това трябва да е съвпадение, но не съвпада с модела по-долу
var patt1 = new RegExp("^(\s*\d+\s*\-\s*\d+\s*,?|\s*\d+\s*,?)+$");
Отговори:
1 за отговор № 1Мисля, че имате нужда от това:
^((?:d+(?:-d+)*)(?:,s(?:d+(?:-d+)*))*)$
Вход
1
1-2
-2
1, 2-3, 4, 5-7
1 2, 3
1-2-2
10-15
2-10
продукция
MATCH 1
1. `1`
MATCH 2
1. `1-2`
MATCH 3
1. `1, 2-3, 4, 5-7`
MATCH 4
1. `1-2-2`
MATCH 5
1. `10-15`
MATCH 6
1. `2-10`