如何检查2位小数?例如。 2.2.10

时间:2010-04-13 08:59:23

标签: javascript

如何在javascript中检查2位小数? 例如。 2.2.10

3 个答案:

答案 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);
}