字符串jQuery留下的空格数量

时间:2012-02-22 21:26:12

标签: javascript jquery

我需要用jQuery计算字符串左边的空格。

例如:

 String: "    Hello how are you? "  will have 4 white spaces at its left!

我如何使用jQuery获得它?

感谢。

3 个答案:

答案 0 :(得分:8)

在普通的JavaScript中使用正则表达式:

var spacesOnLeft = myStr.match(/^ */)[0].length

不涉及循环。 :)

答案 1 :(得分:5)

这对普通的旧javascript来说是可行的。

function countLeftBlanks(arg) {
  var i = 0;
  while (i < arg.length && arg[i] === ' ') {
    i++;
  }
  return i;
}

答案 2 :(得分:0)

如果我们使用RegExp,以下可能是更好的跨环境解决方案:

var spacesOnLeft = ( myStr.match(/^ */) || [[]] )[0].length;

match的结果为null时,上述内容会阻止在某些环境中抛出TypeError。在官方ECMAScript Language Specification中,match方法声明:

  

如果n = 0,则返回null。

尽管如此,大多数现代浏览器似乎都返回一个带有空字符串的数组。但是,在某些环境中,ECMAScript定义受到尊重,如果尝试访问matched[0],则会引发TypeError。 NodeJS环境就是一个很好的例子。