Created
October 25, 2012 01:50
-
-
Save wgkoro/3950033 to your computer and use it in GitHub Desktop.
util of javascript
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Cookieに書き込む | |
function writeCookie(name, val, second){ | |
var term = second * 1000; | |
var now = new Date(); | |
var limit = new Date(); | |
limit.setTime(limit.getTime() + term); | |
document.cookie = name + "=" + escape(val) + "; path=/; expires=" + limit.toUTCString(); | |
} | |
function insertAfter(target, newElem){ | |
var parent = target.parentNode; | |
if(parent.lastChild == target){ | |
parent.appendChild(newElem); | |
} | |
else{ | |
parent.insertBefore(newElem, target.nextSibling); | |
} | |
} | |
// 指定したCookieの値を返す | |
function readCookie(name){ | |
var str = document.cookie; | |
if(str){ | |
var hash = Array(); | |
var c_array = str.split('; '); | |
var c_cnt = c_array.length; | |
for(i=0;i<c_cnt;i++){ | |
eq_array = c_array[i].split('='); | |
if(name == eq_array[0]){ | |
if(eq_array[1] == ""){ | |
return false; | |
}else{ | |
return unescape(eq_array[1]); | |
} | |
} | |
} | |
} | |
return false; | |
} | |
function deleteCookie(key){ | |
var dt = new Date(); | |
var str = key + "=; path=/; expires=" + dt.toGMTString(); | |
document.cookie = str; | |
} | |
// ハッシュカウント | |
function hCount(hash){ | |
var cnt = 0; | |
for(a in hash){ | |
cnt++; | |
} | |
return cnt; | |
} | |
// サニタイズ | |
function h(string) { | |
return string.replace(/[&<>"']/g, function(match) { | |
return { | |
'&' : '&', | |
'<' : '<', | |
'>' : '>', | |
'"' : '"', | |
"'" : ''' | |
}[match]; | |
}); | |
} | |
// GETを取得 | |
function getQuery(){ | |
var qArray = new Array(); | |
var query = window.location.search.substring(1); | |
var parms = query.split('&'); | |
for (var i=0; i<parms.length; i++) { | |
var pos = parms[i].indexOf('='); | |
if (pos > 0) { | |
var key = parms[i].substring(0,pos); | |
var val = parms[i].substring(pos+1); | |
qArray[key] = val; | |
} | |
} | |
return qArray; | |
} | |
function setClass(obj, name){ | |
if(window.ActiveXObject){ | |
if (window.XDomainRequest) { | |
obj.setAttribute('class', name); | |
} else { | |
obj.setAttribute('className', name); | |
} | |
}else{ | |
obj.setAttribute('class', name); | |
} | |
return obj; | |
}; | |
// Class名を取る | |
function getClass(obj, className){ | |
var name; | |
try{ | |
// IE | |
if(window.ActiveXObject){ | |
if(window.XDomainRequest){ | |
name = obj.getAttribute('class'); | |
} | |
else{ | |
name = obj.getAttribute('className'); | |
} | |
} | |
// Except IE | |
else{ | |
name = obj.getAttribute('class'); | |
} | |
return name; | |
} | |
catch(e){ | |
return false; | |
} | |
} | |
// Pathの連結 joinPath(http://abc.com/abc/aaa.html, ../abc.html)という感じで。 | |
function joinPath(base,path){ | |
if(base.substr(base.length-1) != '/'){ | |
base = base.split('/'); | |
base.length--; | |
base = base.join('/'); | |
}else{ | |
base = base.substr(0,base.length-1); | |
} | |
base = base.split('\\'); | |
while(0 == path.indexOf('../')){ | |
base.length--; | |
path = path.substr(3); | |
} | |
base = base.join('/'); | |
base = base + '/' + path; | |
return base; | |
} | |
// ランダム文字列生成 | |
var randStr = function(n, b) { | |
b = b || ''; | |
var a = 'abcdefghijklmnopqrstuvwxyz' | |
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' | |
+ '0123456789' | |
+ b; | |
a = a.split(''); | |
var s = ''; | |
for (var i = 0; i < n; i++) { | |
s += a[Math.floor(Math.random() * a.length)]; | |
} | |
return s; | |
}; | |
// ブラウザを判別する | |
// return 8:IE i:IE6,7 o:Opera 1:Firefox, Chrome, Safari 0:Unknown | |
function whichBrowser(){ | |
// IE | |
if(window.ActiveXObject){ | |
if(window.XDomainRequest){ | |
// IE8 | |
browser = '8'; | |
}else{ | |
browser = 'i'; | |
} | |
} | |
// Opera | |
else if(window.opera){ | |
browser = 'o'; | |
} | |
// Firefox, Chrome, Safari | |
else if(window.XMLHttpRequest){ | |
browser = '1'; | |
} | |
// Unknown | |
else{ | |
browser = '0'; | |
} | |
return browser; | |
} | |
// 時刻フォーマットで時間取得 | |
var getTimeformat = function(date_str){ | |
if (date_str == 0){ | |
var date = new Date(); | |
} | |
else{ | |
var date = new Date(date_str); | |
} | |
// ミリ秒から時間変換 | |
/* | |
var mil = 1318557375773; // ミリ秒 | |
var date = new Date(); | |
date.setTime(mil); | |
*/ | |
var d = {}; | |
// 日付の取得 | |
var year = date.getYear(); | |
var month = date.getMonth() + 1; | |
var day = date.getDate(); | |
// 西暦の処理とゼロパディング | |
year = (year < 2000) ? year+1900 : year; | |
month = ('0' +month.toString()).slice(-2); | |
day = ('0' +day.toString()).slice(-2); | |
// 時間の取得 | |
var time = new Date(); | |
var hour = time.getHours(); | |
var min = time.getMinutes(); | |
var sec = time.getSeconds(); | |
// ゼロパディング | |
if (hour < 10) { hour = "0" + hour.toString(); } | |
if (min < 10) { min = "0" + min.toString(); } | |
if (sec < 10) { sec = "0" + sec.toString(); } | |
d.year = year.toString(); | |
d.month = month.toString(); | |
d.day = day.toString(); | |
d.hour = hour.toString(); | |
d.minute = min.toString(); | |
d.second = sec.toString(); | |
d.unix = date.getTime().toString(); | |
return d; | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment