使われることの多い文字列処理を共通関数としてまとめました。
文字列トリム(半角)
左トリム、右トリムの後に両トリムを行います。
左トリム(半角)
\sは、半角スペースだけではなく、改行など(\n,\r,\f, \t)も含みます。
半角スペースだけを削除する場合は、"\x20+$"
半角スペースとタブを削除する場合は、"[\x20\t]+$"とします。
function trimLeft(str) {
return str.replace(/^\s+/,"");
}
右トリム(半角)
function trimRight(str) {
return str.replace(/\s+$/,"");
}
両トリム(半角)
上記trimLeft、trimRightを利用します。
function trim(str) {
return trimRight(trimLeft(str));
}
文字列トリム(全角)
左トリム、右トリムの後に両トリムを行います。
左トリム(全角)
function mbTrimLeft(str) {
return str.replace(/^ +/,"");
}
右トリム(全角)
function mbTrimRight(str) {
return str.replace(/^ +/,"");
}
両トリム(全角)
上記mbTrimLeft、mbTrimRightを利用します。
function mbTrim(str) {
return mbTrimRight(mbTrimLeft(str));
}
バイト数カウント
escape()でエスケープ文字に変換し、変換後の文字数が4未満の場合は1バイト、4以上の場合は2バイトと計数します。
function byteCount(str){
var count = 0;
var i, n;
for (i=0; i