2012-05-10 6 views

答えて

24

もう一つの良いポストは、のために:Faster JavaScript Trim

あなただけtrim関数を適用し、文字列の長さをチェックする必要があります。トリミング後の長さが0の場合、文字列にはスペースのみが含まれます。また

var str = "data abc"; 
if((jQuery.trim(str)).length==0) 
    alert("only spaces"); 
else 
    alert("contains other characters"); 
+0

または単に '!str.trim()' – Oriol

9
if (!input.match(/^\s*$/)) { 
    //your turn... 
} 
+0

これは 'input'が入力要素ではなく値であることを前提としています。 – Joseph

+0

ええ、 'var input =" dfdfd "'のように、実際の入力から入力値を得るのは大きな問題ではないと思います。 –

+0

私は、特定のパターンの文字を探しているので、これは.trim()に対してこの解決法を好んでいます。これは、正規表現が何を表しているかを正確かつ明示的に示しています。読者はトリムであなたの賢いテクニックを理解するのに少し時間がかかります。 – Chris

0
if(!input.match(/^([\s\t\r\n]*)$/)) { 
    blah.blah(); 
} 
2

、あなたは最速の解決策は、正規表現のプロトタイプ機能test()を使用して任意の文字を探している代わりに、配列

//assuming input is the string to test 
if(/^\s*$/.test(input)){ 
    //has spaces 
} 
0

のブール値を返しますtest()を行うことができますスペースや改行ではありません。\S

if (/\S/.test(str)) 
{ 
    // found something other than a space or a line break 
} 

スーパーロングストリングを使用している場合は、大きな違いが生じる可能性があります。

関連する問題