我需要用jQuery计算字符串左边的空格。
例如:
String: " Hello how are you? " will have 4 white spaces at its left!
我如何使用jQuery获得它?
感谢。
答案 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环境就是一个很好的例子。