2箇所の連番生成
連番を作るのは連番自動生成ツール等で決して難しい話ではないのですが、複数箇所の連番を2重ループ、つまり九九の要領で作るのは少し珍しいような気がしてやってみました。一応後の連番にはゼロ付加のオプションを付けています
// ==UserScript== // @name renban_double_zerofuka // @namespace jigendaddy // @include http://www.kurage-bunch.com/manga/hatarakanai_futari/* // @version 1 // ==/UserScript== var span1="http://www.kurage-bunch.com/manga/hatarakanai_futari/"; var span2="/img/"; var span3=".jpg"; var renx_start="2"; var renx_end="1"; var reny_start="100"; var reny_end="1"; var zf=1; //1ならゼロ付加を行う //連番が文字列型の場合は数値に型変換。全角のチェックは面倒なので省きます renx_start=Number(renx_start); renx_end=Number(renx_end); reny_start=Number(reny_start); reny_end=Number(reny_end); //連番の初期値と終わりの値を確認して大きければ入れ替え、同じならエラーを出す if(renx_start>=renx_end) { if(renx_start>renx_end) { var renx_rep=renx_start; renx_start=renx_end; renx_end=renx_rep; } else { console.log("連番1の初期値と終わりの値が同じです"); } } if(reny_start>=reny_end) { if(reny_start>reny_end) { var reny_rep=reny_start; reny_start=reny_end; reny_end=reny_rep; } else { console.log("連番2の初期値と終わりの値が同じです"); } } //文字列に型変換 if(zf==1) { var str_ys=String(reny_start); var str_ye=String(reny_end); } //console.logに出力。再度の初期化に備えて2番目の連番の初期値をコピー var reny_buf=reny_start; var str_yb=str_ys; while(renx_start<=renx_end) { while(reny_buf<=reny_end) { if(zf==1) { str_yb=String(reny_buf); //全体の桁数と現在の桁数との差の分だけ0を付加する while(str_yb.length<str_ye.length) { if(str_yb.length==str_ye.length) { break; } else { str_yb="0"+str_yb; } } if(reny_buf==reny_end) { console.log(span1+renx_start+span2+reny_end+span3); reny_buf=Number(reny_buf); reny_buf=reny_start; break; } else { console.log(span1+renx_start+span2+str_yb+span3); reny_buf=Number(reny_buf); reny_buf++; } } else { if(reny_buf==reny_end) { console.log(span1+renx_start+span2+reny_buf+span3); reny_buf=Number(reny_buf); reny_buf=reny_start; break; } else { console.log(span1+renx_start+span2+reny_buf+span3); reny_buf=Number(reny_buf); reny_buf++; } } } renx_start++; }