正規表現を使い「年月日時分秒+乱数+.html」をそれぞれキャプチャーして、文字列「年-月-日 時:分:秒」を生成した。
乱数+.htmlはキャプチャーグループ(.+$)で取得しているが、非キャプチャーグループでも問題ない。
var page_name="2014042922371346828.html";
var reg = /(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(.+$)/;
//matchからreplaceに変更
//年-月-日 時:分:秒
console.log(page_name.replace(reg, "$1-$2-$3 $4:$5:$6"));//2014-04-29 22:37:13
/*
console.log(page_name.match(reg)[1]+"-"+//年
page_name.match(reg)[2]+"-"+//月
page_name.match(reg)[3]+" "+//日
page_name.match(reg)[4]+":"+//時
page_name.match(reg)[5]+":"+//分
page_name.match(reg)[6]); //秒
*/
使用例
自動生成されたwebページの名前が「年月日時分秒+乱数+.html」の場合、このページの名前を取得して文字列「年-月-日 時:分:秒」を生成して出力した。
var page_name=getNameFromURL();
var reg = /(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(.+$)/;
$("#output").html(page_name.replace(reg, "$1-$2-$3 $4:$5:$6"));//2014-04-29 22:37:13
/*
$("#output").html(page_name.match(reg)[1]+"-"+//年
page_name.match(reg)[2]+"-"+//月
page_name.match(reg)[3]+" "+//日
page_name.match(reg)[4]+":"+//時
page_name.match(reg)[5]+":"+//分
page_name.match(reg)[6]); //秒
*/
//ページの名前を取得
function getNameFromURL(){
var name=basename(location.href);
return name;
}
function basename(path, suffix) {
// discuss at: http://phpjs.org/functions/basename/
// original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// improved by: Ash Searle (http://hexmen.com/blog/)
// improved by: Lincoln Ramsay
// improved by: djmix
// improved by: Dmitry Gorelenkov
// example 1: basename('/www/site/home.htm', '.htm');
// returns 1: 'home'
// example 2: basename('ecra.php?p=1');
// returns 2: 'ecra.php?p=1'
// example 3: basename('/some/path/');
// returns 3: 'path'
// example 4: basename('/some/path_ext.ext/','.ext');
// returns 4: 'path_ext'
var b = path;
var lastChar = b.charAt(b.length - 1);
if (lastChar === '/' || lastChar === '\\') {
b = b.slice(0, -1);
}
b = b.replace(/^.*[\/\\]/g, '');
if (typeof suffix === 'string' && b.substr(b.length - suffix.length) == suffix) {
b = b.substr(0, b.length - suffix.length);
}
return b;
}
参考
PHP’s basename in JavaScript