如何在javascript中为“1:2,2.2,3:4,4.1,5”生成正则表达式?

如何在javascript中为“1:2,2.2,3:4,4.1,5”生成正则表达式?,javascript,regex,Javascript,Regex,我正在用AngularJS制作网页 我想筛选标记。所以标签只能接受特殊配方。 这是我尝试过的公式和代码 公式: 1.1, 2, 3:4, 3:6, 1.3 代码 function processExpression(expression) { let expression = expression.replace(/\s+/g, ''); if (!/^\d+(?::\d+)?(?:,\d+(?::\d+)?)*$/.test(expression)) { // fai

我正在用
AngularJS
制作网页

我想筛选
标记。所以
标签只能接受特殊配方。
这是我尝试过的公式和代码

公式:

1.1, 2, 3:4, 3:6, 1.3
代码

function processExpression(expression) {
   let expression = expression.replace(/\s+/g, '');

   if (!/^\d+(?::\d+)?(?:,\d+(?::\d+)?)*$/.test(expression)) {
     // fail case
     return false;
   }

   // success case
   return true;
}
我当前的代码现在没有点(
)了。例如
1:2,3,4,5

但它不适用于dot(
)。例如
1:2,3.1,4,5.1,6

我怎么做?请任何人帮助。

只需将
指定为分隔符即可:

/^\d+(?:[:.]\d+)?(?:,\d+(?:[:.]\d+)?)*$/
只需将
指定为分隔符:

/^\d+(?:[:.]\d+)?(?:,\d+(?:[:.]\d+)?)*$/