var msie_ver_no = msieversion();
function msieversion() {
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
if (msie > 0) // Microsoft Internet Explorerの場合、バージョン番号を返す。
return parseInt(ua.substring(msie + 5, ua.indexOf(".", msie)));
else
return 0; // その他のブラウザ
}
/**********************************************************************
*
* 足りない桁数を 0 で埋めた数値文字列を得る
*
* Copyright (c) 2003, 2006 AOK <soft@aokura.com>
*
**********************************************************************/
function formatNum(keta, num) {
var src = new String(num);
var cnt = keta - src.length;
if (cnt <= 0) return src;
while (cnt-- > 0) src = "0" + src;
return src;
}
/**********************************************************************
*
* 連番形式で書かれた文字列を展開する
*
* abc[01-05]-[00-10].jpg のような形式のみ
* (連番表記はいくつあってもよい)
*
* Copyright (c) 2003, 2004, 2006 AOK <soft@aokura.com>
*
**********************************************************************/
function expandStr(str) {
var list = new Array();
var reg = /(.*?)\[(\d+)-(\d+)\](.*)/;
if (str.match(reg) != null) { /* 連番 */
var keta = RegExp.$2.length;
var r1 = RegExp.$1;
var r2 = Number(RegExp.$2);
var r3 = Number(RegExp.$3);
var r4 = RegExp.$4;
for (var i = r2; i <= r3; i++) {
/* 再帰呼び出し */
list = list.concat(expandStr(r1 + formatNum(keta, i) + r4));
}
} else { /* 連番でないもの */
if (msie_ver_no > 5)
list.push(str);
else
list[0] = str;
}
return list;
}
|