📄 utiltext.js
字号:
function trim(strSource) {
re = /^\s+|\s+$/g;
return strSource.replace(re, '');
}
function ltrim(strSource) {
re = /^\s+/g;
return strSource.replace(re, '');
}
function rtrim(strSource) {
re = /\s+$/g;
return strSource.replace(re, '');
}
String.prototype.trim=function() {
re = /^\s+|\s+$/g;
return this.replace(re, '');
}
String.prototype.ltrim=function() {
re = /^\s+/g;
return this.replace(re, '');
}
String.prototype.rtrim=function() {
re = /\s+$/g;
return this.replace(re, '');
}
String.prototype.repeat=function(times) {
if (!this || !times || isNaN(parseInt(times))) return '';
times=parseInt(times);
var ret='';
for (var i=times; i--; ) {
ret+=this;
}
return ret;
}
String.prototype.write=function() {
document.write(this);
}
String.prototype.bytes=function() {
return (this.length + (escape(this) + "/%u").match(/%u/g).length-1);
}
String.prototype.wcut=function(len, append) {
var bytes=this.bytes();
if (!len || len <= 0 || len >= bytes) return this;
var ret=this;
while (len < ret.bytes())
ret=ret.substr(0, ret.length-1);
return ret+(append?append:'');
}
String.prototype.lpad=function(len, append) {
var ret=this;
while (ret.length < len)
ret=append+ret;
return ret;
}
String.prototype.rpad=function(len, append) {
var ret=this;
while (ret.length < len)
ret+=append;
return ret;
}
function strip(text) {
if (text.substr(0,1) == '"' && text.substr(text.length-1,1) == '"')
return text.substr(1, text.length-2);
else return text;
}
function pgArrayStrip(pgArray) {
if (pgArray.substr(0,1) == '{' && pgArray.substr(pgArray.length-1, 1) == '}')
return pgArray.substr(1, pgArray.length-2);
return pgArray;
}
function pgArrayExplode(pgArray, isText) {
pgArray=pgArrayStrip(pgArray);
var ret=pgArray.split(',');
if (isText) {
for (var i=ret.length; i--;) {
ret[i]=ret[i].replace(/(__COMMA__)/g, ',');
var len=ret[i].length;
if (len > 1 && ret[i].substr(0, 1) == '"' && ret[i].substr(len-1, 1) == '"')
ret[i]=ret[i].substr(1, len-2);
}
}
return ret;
}
function numberSeqByKey(e) {
if (!e || !e.keyCode || (e.keyCode != 38 && e.keyCode != 40)) return;
var eventSrc=(_isIE)?e.srcElement:e.target;
if (!eventSrc) return;
if (eventSrc.value.trim().length <= 0) eventSrc.value=0;
if (!isNumber(eventSrc.value)) return;
if (e.keyCode == 38) eventSrc.value=number(eventSrc.value)+1;
else eventSrc.value=number(eventSrc.value)-1;
if (eventSrc.onchange) eventSrc.onchange();
}
function isNumber(str) {
var num=parseInt(str);
if (isNaN(num)) return false;
return true;
}
function number(str) {
var num=parseInt(str);
if (isNaN(num)) return 0;
return num;
}
function findToken(str, token, def) {
var find, reg;
for (var i=0; i < token.length; i++) {
try{reg=new RegExp(token[i],"ig");}catch(e){return;}
if (find=str.match(reg))
return find;
}
if (typeof def != 'undefined') return def;
else return '';
}
function getValue(str, def) {
if (str) return str;
else if (typeof def != 'undefined') return def;
else return '';
}
function fieldNum(field) {
if (!field) return;
if (!field.tagName)
field=(_isIE)?field.srcElement:field.target;
if (!field) return;
var val=field.value;
var reg=new RegExp(/[^-0-9]*/g);
val=val.replace(reg,'');
if (field.value != val)
field.value=val;
if (isNumber(field.min) && number(field.value) < number(field.min))
field.value=number(field.min);
if (isNumber(field.max) && number(field.value) > number(field.max))
field.value=number(field.max);
}
function fieldDisable(field) {
field.disabled=true;
field.style.backgroundColor='#EEE';
field.style.filter='alpha(opacity=50)';
field.style.MozOpacity='0.50';
}
function fieldEnable(field) {
field.disabled=false;
field.style.removeAttribute('backgroundColor');
field.style.removeAttribute('filter');
field.style.removeAttribute('MozOpacity');
}
function pressEnter(e) {
if (e && e.keyCode && e.keyCode == 13) {
var eventSrc=(_isIE)?e.srcElement:e.target;
if (eventSrc && eventSrc.onchange) eventSrc.onchange();
}
}
function enterNextField(e, callback) {
if (e && e.keyCode && e.keyCode == 13) {
var eventSrc=(_isIE)?e.srcElement:e.target;
if (!eventSrc) return;
var fields=oFindChildByTagNames(eventSrc.form?eventSrc.form:document.body, 'INPUT', 'SELECT');
var field=null;
if (fields) {
for (var i=0; i < fields.length; i++) {
if (fields[i] == eventSrc) {
if (i == fields.length-1) {
if (callback) {
if (typeof callback == 'function' || typeof callback == 'object')
callback();
else
eval(callback);
}else
field=fields[0];
}else
field=fields[i+1];
break;
}
}
}
if (field) {
field.focus();
field.select();
}
}
}
function calSize(size, noBold, postfix) {
size=parseInt(size);
var b1, b2;
if (!noBold) {
b1='<b>';
b2='</b>';
}else b1=b2='';
if (!postfix) postfix='';
if (size < 1024)
return b1+numberFormat(Math.round(size))+b2+postfix+'B';
var unit=Array('B ','KB','MB','GB','TB');
for (var i=0; i < unit.length; i++) {
var tmp=Math.round(size/1024);
if (tmp < 1)
return b1+numberFormat(size,1)+b2+postfix+unit[i];
else
size=tmp;
}
return b1+numberFormat(size,1)+b2+postfix+unit[--i];
}
function stripDomain(uri) {
return uri.replace(/(http|ftp):\/\/[.0-9a-z-_]*/i, '');
}
function basename(path) {
var pathArr=path.split('/');
pathArr.pop();
return '/'+pathArr.join('/');
}
function filename(path) {
return path.split('/').pop();
}
function numberFormat(num) {
num=num.toString();
var ret='';
for (var i=0; i < num.length; i++) {
if (i && (num.length-i)%3 == 0)
ret+=',';
ret+=num.charAt(i);
}
return ret;
}
function timestampConvert(timestamp, format) {
var date=new Date((timestamp*1000));
var convert='';
for (var i=0; i < format.length; i++) {
switch(format.charAt(i)) {
case 'y': convert+=date.getFullYear().toString(); break;
case 'm': convert+=((date.getMonth()+1).toString().length == 2)?(date.getMonth()+1).toString():'0'+(date.getMonth()+1).toString(); break;
case 'd': convert+=(date.getDate().toString().length == 2)?date.getDate().toString():'0'+date.getDate().toString(); break;
case 'h': convert+=(date.getHours().toString().length == 2)?date.getHours().toString():'0'+date.getHours().toString(); break;
case 'i': convert+=(date.getMinutes().toString().length == 2)?date.getMinutes().toString():'0'+date.getMinutes().toString(); break;
case 's': convert+=(date.getSeconds().toString().length == 2)?date.getSeconds().toString():'0'+date.getSeconds().toString(); break;
default: convert+=format.charAt(i); break;
}
}
return convert;
}
function printPaging(total, cur_page, limit, overEvent, clickEvent, larrow, rarrow, page_size) {
if (!cur_page) cur_page=1;
if (!page_size) page_size=10;
var page_max, i;
var total_media=0;
var ret;
total_media=total;
page_max=Math.ceil(total_media/limit);
ret='<div id="div_paging" style="text-align:center">';
var page_start=cur_page-(cur_page%page_size)+1;
if (cur_page%page_size == 0) page_start-=page_size;
var page_end=page_start+page_size-1;
var page_remain=true;
if (page_end > page_max) {
page_end=page_max;
page_remain=false;
}
var page;
if (page_start > 1) {
page=page_start-page_size;
if (larrow) ret+='<img src="'+larrow+'" border=0 align=absmiddle onclick="'+clickEvent.replace('REPLACE_I', page)+'" style="cursor:pointer" title="'+page+'페이지로 이동">';
else ret+='<a href="javascript:'+clickEvent.replace('REPLACE_I', page)+'" title="'+page+'페이지로 이동">◀</a>';
}
for (i=page_start; i <= page_end; i++) {
if (i == cur_page)
ret+='<span class="blog_media_browser_nav_cur_page" title="현재 '+i+'번째 페이지">'+i+'</span>';
else
ret+='<span onmouseover="'+overEvent+'" onclick="'+clickEvent.replace('REPLACE_I',i)+'" class="blog_media_browser_nav_page" title="'+i+'페이지로 이동">'+i+'</span>';
}
if (page_remain) {
page=page_end+1;
if (rarrow) ret+='<img src="'+rarrow+'" border=0 align=absmiddle onclick="'+clickEvent.replace('REPLACE_I',(page_end+1))+'" style="cursor:pointer" title="'+page+'페이지로 이동">';
else ret+='<a href="javascript:'+clickEvent.replace('REPLACE_I',(page_end+1))+'" title="'+page+'페이지로 이동">▶</a>';
}
ret+='</div>';
return ret;
}
function diff(diff1, diff2) {
if (!_XMLHttp['diff']) _XMLHttp['diff']=new XMLHttp('diff', diffResponse);
_XMLHttp['diff'].registCallback();
_XMLHttp['diff'].open();
_XMLHttp['diff'].setHeader('Content-Type', 'application/x-www-form-urlencoded');
_XMLHttp['diff'].send('diff1='+XMLQueryEscape(diff1)+'&diff2='+XMLQueryEscape(diff2));
}
function diffResponse() {
if (!_XMLHttp['diff'] || !_XMLHttp['diff'].success()) return;
var data=_XMLHttp['diff'].getResponse('DIFF');
if (data)
aDump(data[0]);
}
function textDump(text) {
var div=document.createElement('TEXTAREA');
document.body.appendChild(div);
div.noWrap=true;
div.style.cssText='position:absolute;overflow:scroll;width:400px;height:400px;top:0px;left:0px;background-color:white;z-index:10000;';
div.value=text;
div.ondblclick=new Function('this.parentNode.removeChild(this);');
}
function isImagePath(path) {
return path.match(/\.jpg$|\.gif$|\.bmp$|\.png$/i);
}
function urlDecode(url) {
if (!url) return '';
if (!_XMLHttp['urlDecode']) _XMLHttp['urlDecode']=new XMLHttp('urldecode');
_XMLHttp['urlDecode'].setQuery('q[url]='+url);
_XMLHttp['urlDecode'].setAsync(false);
_XMLHttp['urlDecode'].execute();
var data=_XMLHttp['urlDecode'].getResponse('DATA');
if (data) {
return data[0].decode;
}else alert(_XMLHttp['urlDecode'].getError('msg'));
}
function urlEncode(url) {
if (!url) return '';
if (!_XMLHttp['urlDecode']) _XMLHttp['urlDecode']=new XMLHttp('urlencode');
_XMLHttp['urlDecode'].setQuery('q[url]='+url);
_XMLHttp['urlDecode'].setAsync(false);
_XMLHttp['urlDecode'].execute();
var data=_XMLHttp['urlDecode'].getResponse('DATA');
if (data) {
return data[0].encode;
}else alert(_XMLHttp['urlDecode'].getError('msg'));
}
function hexConvert(convert) {
var firstnum;
var lastnum;
b = Math.floor (convert / 16);
c = convert; c %= 16
charx = '0123456789ABCDEF';
firstnum = charx.substring(b,b+1);
lastnum = charx.substring(c,c+1);
hexa = firstnum + lastnum;
return hexa;
}
function dec2hex(dec) {
var ret='';
while (dec > 256) {
ret+=hexConvert(dec%256);
dec/=256;
}
ret+=hexConvert(dec);
return ret;
}
function innerText(div, text) {
if (typeof text == 'undefined') {
if (_isIE) return div.innerText;
else return div.textContent;
}else{
if (_isIE) div.innerText=text;
else div.textContent=text;
}
}
function newText(text, doc) {
if (!doc) doc=document;
return doc.createTextNode(text);
}
function dateParse(string) {
if (!string) return -1;
var date=new Date;
function _dateParseMonth(month) {
var array={jan: 0,feb: 1,mar: 2,apr: 3,may: 4,jun: 5,jul: 6,aug: 7,sep: 8,oct: 9,nov: 10,dec: 11};
return array[month.substr(0, 3).toLowerCase()];
}
/*Sun Nov 6 08:49:30 1994 ; ANSI C's asctime() format*/
var match=string.match(/(\w{3}) (\w{3}) (\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2}) (\d{4})/);
if (match) {
date.setFullYear(match[7]);
date.setMonth(_dateParseMonth(match[2]));
date.setDate(match[3]);
date.setHours(match[4]);
date.setMinutes(match[5]);
date.setSeconds(match[6]);
}else{
/*Sun, 06 Nov 1994 08:49:30 GMT ; RFC 822, updated by RFC 1123*/
match=string.match(/(\w{3}), (\d{1,2}) (\w{3}) (\d{4}) (\d{1,2}):(\d{1,2}):(\d{1,2}) (GMT)?/);
if (match) {
date.setFullYear(match[4]);
date.setMonth(_dateParseMonth(match[3]));
date.setDate(match[2]);
date.setHours(match[5]);
date.setMinutes(match[6]);
date.setSeconds(match[7]);
}else{
/*Sunday, 06-Nov-94 08:49:30 GMT ; RFC 850, obsoleted by RFC 1036*/
match=string.match(/(\w{6}), (\d{1,2})-(\w{3})-(\d{2}) (\d{1,2}):(\d{1,2}):(\d{1,2}) (GMT)?/);
if (match) {
date.setYear(match[4]);
date.setMonth(_dateParseMonth(match[3]));
date.setDate(match[2]);
date.setHours(match[5]);
date.setMinutes(match[6]);
date.setSeconds(match[7]);
}else return null;
}
}
return date;
}
/*
function stripTags(html) {
return html.replace(/[<][/]?\w+[^>]*[>]/g, '');
}
*/
var _redirectUrl=null;
function redirect(url) {
if (!url && _redirectUrl) document.location=_redirectUrl;
else{
_redirectUrl=url;
setTimeout('redirect()', 10);
}
}
function copy_clip(meintext) {
try{
if (window.clipboardData) {
window.clipboardData.setData("Text", meintext);
}else if (window.netscape) {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if (!clip) return;
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if (!trans) return;
trans.addDataFlavor('text/unicode');
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var copytext=meintext;
str.data=copytext;
trans.setTransferData("text/unicode",str,copytext.length*2);
var clipid=Components.interfaces.nsIClipboard;
if (!clip) return false;
clip.setData(trans,null,clipid.kGlobalClipboard);
}
return false;
}catch(e) {
alert('Copy to clipboard failed.');
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -