AOK's JavaScript Library
IE6.0 (Win2000) で動作確認しています。
Last Update: Nov.27,2006

連番形式で書かれた文字列を展開する
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;
}

戻る Copyright (c) 2003, 2006 AOK. All Rights Reserved.