2012-02-22 16 views
1

jQueryで文字列の左の空白を数えなければなりません。例えば文字列の空白の量jQuery

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

は、どのように私はjQueryを使っていることを得ることができますか?

ありがとうございました。

答えて

5

これは、普通の古いjavascriptで実行できるものです。

昔ながらのJavaScriptで正規表現を使用して
function countLeftBlanks(arg) { 
    var i = 0; 
    while (i < arg.length && arg[i] === ' ') { 
    i++; 
    } 
    return i; 
} 
8

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

ませんが関与ループ。 :)

+0

私はあなたの答えがうまくいったのでアップアップしましたが、私は他のaproachを使っていましたので、答えはもう1つでした。あなたの答えが他の人に役立つことを願っています – euther

0

我々は正規表現を使用している場合、下記のより良いクロス環境ソリューションであるかもしれない:

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

は、上記matchの結果がnullあるときに、特定の環境でスローされるから、例外TypeErrorを停止します。

n = 0の場合、nullを返した場合:公式ECMAScript Language Specificationでは、match方法があると述べています。

これにもかかわらず、最新のブラウザーのほとんどは、空の文字列を含む配列を返しているようです。しかし、いくつかの環境では、ECMAScript定義が受け入れられ、matched[0]にアクセスしようとするとTypeErrorがスローされます。 NodeJS環境はこれの良い例です。

関連する問題