だいぶ前に、trimをかけるというタイトルでltrimをするソースを作ったことがありました。
//LTRIMをかける function lf_ltrim(aObj){ var ret = aObj; while(ret.charAt(0) == " " || ret.charAt(0) == " "){ ret = ret.substr(1,ret.length-1); } return ret; } |
作ったことを忘れてしまっていたこともそうなのですが、改めてみてみると、ちょっと改良するところがあるのかなーと思い、再度、定義しなおしてみました。
function ltrim(aVal){ var f_ret = aVal; /* 空文字の場合 */ if(f_ret.length == 0){ return ""; /* 空文字以外の場合 */ }else{ /* 半角スペースだけ場合 */ if(f_ret.match(/[^ ]/) == null){ return ""; /* 半角スペース以外の場合 */ }else{ while(f_ret.substr(0,1) == " "){ f_ret = f_ret.substring(1,f_ret.length); } return f_ret; } } } |
一番最初に紹介したのとの違いですが、まず、何も文字が入力されていなかった場合、つまいlengthが0だった場合にそのまま空を返すように改良した点と、半角スペースしかない場合も空を返すように処理を追加した点です。
後、全角スペースを削除する必要はないかと思い、削除対象外としました。
改良後のf_ret.substr(0,1)の部分は、f_ret.charAt(0)でもいいかもしれない。
でも、そこはほんの少しの差なのでいいのかなと。
f_ret.charAt(0)を使った場合は、こう!!
function ltrim(aVal){ var f_ret = aVal; /* 空文字の場合 */ if(f_ret.length == 0){ return ""; /* 空文字以外の場合 */ }else{ /* 半角スペースだけ場合 */ if(f_ret.match(/[^ ]/) == null){ return ""; /* 半角スペース以外の場合 */ }else{ while(f_ret.charAt(0) == " "){ f_ret = f_ret.substring(1,f_ret.length); } return f_ret; } } } |
0 コメント:
コメントを投稿