我的表单中有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中做到这一点。除此之外,这是需要解决的逻辑问题(升序)