2011-06-17 22 views
1

以下の空白クリーンアップ機能があり、フォーカスを失ったときに次のtabindexに移動すると完全に機能しますが、現在フォーカスを受けている要素をクリックして再フォーカスすると、クリーンアップは「文字列」の末尾の[\ t] + $を除いて行われますRegEx空白クリーンアップ

function cleanUpYourAct(){ 
$(':text').each(function(index){  
var messy = $(this).val(); 
var clean = messy.replace(/\s+/g," "); 
var trimmed = clean.replace(/^[ \t]+|[ \t]+$/,""); 
$(this).val(trimmed); 
}); 
} 

$(':text').blur(cleanUpYourAct); 

アイデアはありますか?たぶん私は一緒に束ねる正規表現のセットはゴミですか?

はあなたが世界の第二の正規表現に置き換えるやっていない

答えて

2

ありがとう、あなたはまた、最後に空白を交換していない先頭に空白がある場合:

var trimmed = clean.replace(/^[ \t]+|[ \t]+$/g,""); 

は、編集:

イベントターゲットである要素だけでこの操作を実行することも考えられます。以下のような

何か:

function cleanUpYourAct() { 
    var messy = $(this).val() 
    , clean = messy.replace(/\s+/g, " ") 
    , trimmed = clean.replace(/^[ \t]+|[ \t]+$/g, "") 
    $(this).val(trimmed) 
} 
+0

あなたはこの答え、トムと上記と超えて行きました。私はあなたが神であるかもしれないと思う! –