解析数字并在JS中使用点和逗号对其进行计算

时间:2018-11-29 09:38:18

标签: javascript jquery

我的表单中有n个输入字段。我想检查第二个值是否> 1st值,第五个值> 4th / 3rd / 2nd / 1st值... 所以基本上,如果值的顺序是递增的。

我的输入字段由脚本生成,因此没有固定值的输入。每个输入都有一个名为staff_u + i的ID(staff_u1,staff_u2 ...)

问题在于,这些输入字段中的数字可以通过不同的方式插入,例如:

100.000
100000
100000,00
100.000,00
  

重要的是要知道,我正在遵循德国的标点符号系统,所以“。”和“,”可能会被反转。

我尝试了以下方法:

// check if values are valid
for (var i = 1; i <= n; i++) {
    if ($("#staff_u"+(i+1)).length > 0 && $("#staff_u"+i).val() < $("#staff_u"+ (i+1)).val()) {
        console.log("Not ascending");
    }
}

然后我意识到,我可能不得不以某种方式清理输入内容,因为我无法确定数字将如何显示。我考虑过使用regEx来消除任何点或逗号,但无法解决这个问题。

我看到了parseFloat函数,但似乎只考虑了.

举个例子,什么是有效的,什么不是:

1. --> 200000,00
2. --> 300000,00
3. --> 250000     
================
not valid, since the 2nd value is > 3rd

1. --> 15000
2. --> 25000
3. --> 35000
================
valid

1. --> 7.500,00
2. --> 12000
3. --> 15.000
================
valid, ascending, even though differently formatted

我不认为这个问题是重复的,因为建议的答案只是检查数字是否为数字+它是纯JS,我想在JQ中做到这一点。除此之外,这是需要解决的逻辑问题(升序)

0 个答案:

没有答案