如何在javascript中检查2位小数? 例如。 2.2.10
答案 0 :(得分:3)
您必须将其视为字符串(它不是数字),正则表达式可能是实现此目的的最简单方法:
'2.2.10'.match(/^\d+\.\d+\.\d+$/);
或者,如果您认为其他所有内容都是数字:
'2.d2.10'.split('.').length === 3
答案 1 :(得分:1)
如果你想检查你的字符串是否只包含数字和点,带有一个尾随数字,这里是一个正则表达式:
if(myString.match(/^[\d\.]*\d$/)) {
// passes the test
}
"2".match(/^[\d\.]*\d$/) // true
"2.2".match(/^[\d\.]*\d$/) // true
"2.2.10".match(/^[\d\.]*\d$/) // true
".2".match(/^[\d\.]*\d$/) // true
"2.".match(/^[\d\.]*\d$/) // FALSE
"fubar".match(/^[\d\.]*\d$/) // FALSE
答案 2 :(得分:0)
如果您正在尝试确定版本A是否在版本B之前,您可以执行以下操作:
// Assumes "low" numbers of tokens and each token < 1000
function unversion(s) {
var tokens = s.split('.');
var total = 0;
$.each(tokens, function(i, token) {
total += Number(token) * Math.pow(0.001, i);
});
return total;
}
// that version b is after version a
function isAfter(a, b) {
return unversion(a) < unversion(b);
}