2008/06/10

[javascript]トリムをかける

textのvalueにトリムをかけたいと思い、ソースを作ってみました。

//LTRIMをかける
function lf_ltrim(aObj){
var ret = aObj;
while(ret.charAt(0) == " " || ret.charAt(0) == " "){
ret = ret.substr(1,ret.length-1);
}
return ret;
}

//RTRIMをかける。
function lf_rtrim(aObj){
var ret = aObj;
while(ret.charAt(ret.length-1) == " " ||
ret.charAt(ret.length-1) == " "){
ret = ret.substr(0,ret.length-1);
}
return ret;
}

//TRIMをかける
function lf_trim(aObj){
var ret = aObj;
ret = ret.replace(/ /g,"");
ret = ret.replace(/ /g,"");
return ret;
}

3 件のコメント:

  1. JavaScriptって標準でTRIM関数無いから
    不便だよねー。
    ループ使うと処理重くなりそうだし全部正規表現でやった方が早いかも。

    target.replace(/^[(半角スペース)(全角スペース)]*/gim/, "");

    こんな感じ?(LTRIMが)
    全くもって動作の検証はしてない。

    返信削除
  2. >不便だよねー。

    そうなんだよ。
    次のバージョンのときには、期待したいメソッドだね。

    >ループ使うと処理重くなりそうだし全部正
    >規表現でやった方が早いかも。

    さっき試したけど、バグった模様

    返信削除
  3. おう! なんか要らないスラッシュが。

    target.replace(/^[(半角スペース)(全角スペース)]*/gim, "");

    これでいけた。RTRIMだと*頭の^を消して*の後に$いれればといけるのかな?多分。
    相変わらず検証はしてない。

    返信削除