次の入力のみを許可する JavaScript 正規表現を作成しようとしています。
- 数字
- カンマで区切られた数字
- 間にハイフンを含む数字ですが、その後に別の数字またはコンマが続き、その後に数字が続きます。このパターンを繰り返すことができます。
これまでのところ、次の表現があります。
^[0-9]$|^[0-9]+$|^[0-9](-?,?[0-9])*$
ただし、これは許可1-1-1
されていますが、これは望ましくありません。ハイフンは、その後に別の数字 - ハイフン - 数字の組み合わせが続かない場合にのみ表示されます。
このリンクが役立つかもしれません: http://regexr.com?34ljt
次のサンプルは、有効であると評価される必要があります。
01,03,05-08,10
01,03,05
01,03,05-08
01
1,1,5-6,1,1
1,1,5-6,1,1-3
12,12, 1-9
1-9,5,5
1-9,9,9,5-6
1-2
11-11
11,11
1,1
1,1,1
11,11,11
1111
1,1,1, 1,1,1
1
56,1
1,1
1,3
1,3,4,5
1,3
次のサンプルは無効と評価されます。
sdfdf
11-11-11-11
1-1-1-1-1
f
01,
01,03,05-08,
-1,4-,-5,8909
1,1,1-1-1
1,1 ,11-1111-1
1-1-1
1,,1
1--1
1-
1,, - 1- df
-1 ,1