原生态纯JavaScript 100大技巧大收集---你值得拥有

1、原生JavaScript实现字符串长度截取

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function cutstr(str, len) {   
  2.     var temp;   
  3.     var icount = 0;   
  4.     var patrn = /[^\x00-\xff]/;   
  5.     var strre = "";   
  6.     for (var i = 0; i < str.length; i++) {   
  7.         if (icount < len - 1) {   
  8.             temp = str.substr(i, 1);   
  9.             if (patrn.exec(temp) == null) {   
  10.                 icount = icount + 1   
  11.             } else {   
  12.                 icount = icount + 2   
  13.             }   
  14.             strre += temp   
  15.         } else {   
  16.             break   
  17.         }   
  18.     }   
  19.     return strre + "..."   
  20. }   
function cutstr(str, len) { 
    var temp; 
    var icount = 0; 
    var patrn = /[^\x00-\xff]/; 
    var strre = ""; 
    for (var i = 0; i < str.length; i++) { 
        if (icount < len - 1) { 
            temp = str.substr(i, 1); 
            if (patrn.exec(temp) == null) { 
                icount = icount + 1 
            } else { 
                icount = icount + 2 
            } 
            strre += temp 
        } else { 
            break 
        } 
    } 
    return strre + "..." 
} 

2、原生JavaScript获取域名主机

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getHost(url) {  
  2.     var host = "null";  
  3.     if(typeof url == "undefined"|| null == url) {  
  4.         url = window.location.href;  
  5.     }  
  6.     var regex = /^\w+\:\/\/([^\/]*).*/;  
  7.     var match = url.match(regex);  
  8.     if(typeof match != "undefined" && null != match) {  
  9.         host = match[1];  
  10.     }  
  11.     return host;  
  12. }  
function getHost(url) {
    var host = "null";
    if(typeof url == "undefined"|| null == url) {
        url = window.location.href;
    }
    var regex = /^\w+\:\/\/([^\/]*).*/;
    var match = url.match(regex);
    if(typeof match != "undefined" && null != match) {
        host = match[1];
    }
    return host;
}
3、原生JavaScript清除空格

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. String.prototype.trim = function() {  
  2.     var reExtraSpace = /^\s*(.*?)\s+$/;  
  3.     return this.replace(reExtraSpace, "$1")  
  4. }  
String.prototype.trim = function() {
    var reExtraSpace = /^\s*(.*?)\s+$/;
    return this.replace(reExtraSpace, "$1")
}
4、原生JavaScript替换全部
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. String.prototype.replaceAll = function(s1, s2) {  
  2.     return this.replace(new RegExp(s1, "gm"), s2)  
  3. }  
String.prototype.replaceAll = function(s1, s2) {
    return this.replace(new RegExp(s1, "gm"), s2)
}
5、原生JavaScript转义html标签
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function HtmlEncode(text) {  
  2.     return text.replace(/&/g, '&').replace(/\"/g, '"').replace(/</g, '<').replace(/>/g, '>')  
  3. }  
function HtmlEncode(text) {
    return text.replace(/&/g, '&').replace(/\"/g, '"').replace(/</g, '<').replace(/>/g, '>')
}
6、原生JavaScript还原html标签
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function HtmlDecode(text) {  
  2.     return text.replace(/&/g, '&').replace(/"/g, '\"').replace(/</g, '<').replace(/>/g, '>')  
  3. }  
function HtmlDecode(text) {
    return text.replace(/&/g, '&').replace(/"/g, '\"').replace(/</g, '<').replace(/>/g, '>')
}
7、原生JavaScript时间日期格式转换
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. Date.prototype.Format = function(formatStr) {  
  2.     var str = formatStr;  
  3.     var Week = ['日''一''二''三''四''五''六'];  
  4.     str = str.replace(/yyyy|YYYY/, this.getFullYear());  
  5.     str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));  
  6.     str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1));  
  7.     str = str.replace(/M/g, (this.getMonth() + 1));  
  8.     str = str.replace(/w|W/g, Week[this.getDay()]);  
  9.     str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());  
  10.     str = str.replace(/d|D/g, this.getDate());  
  11.     str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());  
  12.     str = str.replace(/h|H/g, this.getHours());  
  13.     str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());  
  14.     str = str.replace(/m/g, this.getMinutes());  
  15.     str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());  
  16.     str = str.replace(/s|S/g, this.getSeconds());  
  17.     return str  
  18. }  
Date.prototype.Format = function(formatStr) {
    var str = formatStr;
    var Week = ['日', '一', '二', '三', '四', '五', '六'];
    str = str.replace(/yyyy|YYYY/, this.getFullYear());
    str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));
    str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1));
    str = str.replace(/M/g, (this.getMonth() + 1));
    str = str.replace(/w|W/g, Week[this.getDay()]);
    str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());
    str = str.replace(/d|D/g, this.getDate());
    str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());
    str = str.replace(/h|H/g, this.getHours());
    str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());
    str = str.replace(/m/g, this.getMinutes());
    str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());
    str = str.replace(/s|S/g, this.getSeconds());
    return str
}
8、原生JavaScript判断是否为数字类型
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isDigit(value) {  
  2.     var patrn = /^[0-9]*$/;  
  3.     if (patrn.exec(value) == null || value == "") {  
  4.         return false  
  5.     } else {  
  6.         return true  
  7.     }  
  8. }  
function isDigit(value) {
    var patrn = /^[0-9]*$/;
    if (patrn.exec(value) == null || value == "") {
        return false
    } else {
        return true
    }
}
9、原生JavaScript设置cookie值
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function setCookie(name, value, Hours) {  
  2.     var d = new Date();  
  3.     var offset = 8;  
  4.     var utc = d.getTime() + (d.getTimezoneOffset() * 60000);  
  5.     var nd = utc + (3600000 * offset);  
  6.     var exp = new Date(nd);  
  7.     exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000);  
  8.     document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString() + ";domain=360doc.com;"  
  9. }  
function setCookie(name, value, Hours) {
    var d = new Date();
    var offset = 8;
    var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
    var nd = utc + (3600000 * offset);
    var exp = new Date(nd);
    exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000);
    document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString() + ";domain=360doc.com;"
}
10、原生JavaScript获取cookie值

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getCookie(name) {  
  2.     var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));  
  3.     if (arr != nullreturn unescape(arr[2]);  
  4.     return null  
  5. }  
function getCookie(name) {
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null) return unescape(arr[2]);
    return null
}

11、原生JavaScript加入收藏夹

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function AddFavorite(sURL, sTitle) {  
  2.     try {  
  3.         window.external.addFavorite(sURL, sTitle)  
  4.     } catch(e) {  
  5.         try {  
  6.             window.sidebar.addPanel(sTitle, sURL, "")  
  7.         } catch(e) {  
  8.             alert("加入收藏失败,请使用Ctrl+D进行添加")  
  9.         }  
  10.     }  
  11. }  
function AddFavorite(sURL, sTitle) {
    try {
        window.external.addFavorite(sURL, sTitle)
    } catch(e) {
        try {
            window.sidebar.addPanel(sTitle, sURL, "")
        } catch(e) {
            alert("加入收藏失败,请使用Ctrl+D进行添加")
        }
    }
}

12、原生JavaScript设为首页

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function setHomepage() {  
  2.     if (document.all) {  
  3.         document.body.style.behavior = 'url(#default#homepage)';  
  4.         document.body.setHomePage('http://www.jq-school.com')  
  5.     } else if (window.sidebar) {  
  6.         if (window.netscape) {  
  7.             try {  
  8.                 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")  
  9.             } catch(e) {  
  10.                 alert("该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true")  
  11.             }  
  12.         }  
  13.         var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);  
  14.         prefs.setCharPref('browser.startup.homepage''http://www.jq-school.com')  
  15.     }  
  16. }  
function setHomepage() {
    if (document.all) {
        document.body.style.behavior = 'url(#default#homepage)';
        document.body.setHomePage('http://www.jq-school.com')
    } else if (window.sidebar) {
        if (window.netscape) {
            try {
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
            } catch(e) {
                alert("该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true")
            }
        }
        var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
        prefs.setCharPref('browser.startup.homepage', 'http://www.jq-school.com')
    }
}
13、原生JavaScript判断IE6

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. var ua = navigator.userAgent.toLowerCase();  
  2. var isIE6 = ua.indexOf("msie 6") > -1;  
  3. if (isIE6) {  
  4.     try {  
  5.         document.execCommand("BackgroundImageCache"falsetrue)  
  6.     } catch(e) {}  
  7. }  
var ua = navigator.userAgent.toLowerCase();
var isIE6 = ua.indexOf("msie 6") > -1;
if (isIE6) {
    try {
        document.execCommand("BackgroundImageCache", false, true)
    } catch(e) {}
}

14、原生JavaScript加载样式文件

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function LoadStyle(url) {  
  2.     try {  
  3.         document.createStyleSheet(url)  
  4.     } catch(e) {  
  5.         var cssLink = document.createElement('link');  
  6.         cssLink.rel = 'stylesheet';  
  7.         cssLink.type = 'text/css';  
  8.         cssLink.href = url;  
  9.         var head = document.getElementsByTagName('head')[0];  
  10.         head.appendChild(cssLink)  
  11.     }  
  12. }  
function LoadStyle(url) {
    try {
        document.createStyleSheet(url)
    } catch(e) {
        var cssLink = document.createElement('link');
        cssLink.rel = 'stylesheet';
        cssLink.type = 'text/css';
        cssLink.href = url;
        var head = document.getElementsByTagName('head')[0];
        head.appendChild(cssLink)
    }
}
15、原生JavaScript返回脚本内容

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function evalscript(s) {  
  2.     if(s.indexOf('<script') == -1) return s;  
  3.     var p = /<script[^\>]*?>([^\x00]*?)<\/script>/ig;  
  4.     var arr = [];  
  5.     while(arr = p.exec(s)) {  
  6.         var p1 = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:charset=\"([\w\-]+?)\")?><\/script>/i;  
  7.         var arr1 = [];  
  8.         arr1 = p1.exec(arr[0]);  
  9.         if(arr1) {  
  10.             appendscript(arr1[1], '', arr1[2], arr1[3]);  
  11.         } else {  
  12.             p1 = /<script(.*?)>([^\x00]+?)<\/script>/i;  
  13.             arr1 = p1.exec(arr[0]);  
  14.             appendscript('', arr1[2], arr1[1].indexOf('reload=') != -1);  
  15.         }  
  16.     }  
  17.     return s;  
  18. }  
function evalscript(s) {
	if(s.indexOf('<script') == -1) return s;
	var p = /<script[^\>]*?>([^\x00]*?)<\/script>/ig;
	var arr = [];
	while(arr = p.exec(s)) {
		var p1 = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:charset=\"([\w\-]+?)\")?><\/script>/i;
		var arr1 = [];
		arr1 = p1.exec(arr[0]);
		if(arr1) {
			appendscript(arr1[1], '', arr1[2], arr1[3]);
		} else {
			p1 = /<script(.*?)>([^\x00]+?)<\/script>/i;
			arr1 = p1.exec(arr[0]);
			appendscript('', arr1[2], arr1[1].indexOf('reload=') != -1);
		}
	}
	return s;
}
16、原生JavaScript清除脚本内容

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function stripscript(s) {  
  2.     return s.replace(/<script.*?>.*?<\/script>/ig, '');  
  3. }  
function stripscript(s) {
	return s.replace(/<script.*?>.*?<\/script>/ig, '');
}
17、原生JavaScript动态加载脚本文件

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function appendscript(src, text, reload, charset) {  
  2.     var id = hash(src + text);  
  3.     if(!reload && in_array(id, evalscripts)) return;  
  4.     if(reload && $(id)) {  
  5.         $(id).parentNode.removeChild($(id));  
  6.     }  
  7.   
  8.     evalscripts.push(id);  
  9.     var scriptNode = document.createElement("script");  
  10.     scriptNode.type = "text/javascript";  
  11.     scriptNode.id = id;  
  12.     scriptNode.charset = charset ? charset : (BROWSER.firefox ? document.characterSet : document.charset);  
  13.     try {  
  14.         if(src) {  
  15.             scriptNode.src = src;  
  16.             scriptNode.onloadDone = false;  
  17.             scriptNode.onload = function () {  
  18.                 scriptNode.onloadDone = true;  
  19.                 JSLOADED[src] = 1;  
  20.             };  
  21.             scriptNode.onreadystatechange = function () {  
  22.                 if((scriptNode.readyState == 'loaded' || scriptNode.readyState == 'complete') && !scriptNode.onloadDone) {  
  23.                     scriptNode.onloadDone = true;  
  24.                     JSLOADED[src] = 1;  
  25.                 }  
  26.             };  
  27.         } else if(text){  
  28.             scriptNode.text = text;  
  29.         }  
  30.         document.getElementsByTagName('head')[0].appendChild(scriptNode);  
  31.     } catch(e) {}  
  32. }  
function appendscript(src, text, reload, charset) {
	var id = hash(src + text);
	if(!reload && in_array(id, evalscripts)) return;
	if(reload && $(id)) {
		$(id).parentNode.removeChild($(id));
	}

	evalscripts.push(id);
	var scriptNode = document.createElement("script");
	scriptNode.type = "text/javascript";
	scriptNode.id = id;
	scriptNode.charset = charset ? charset : (BROWSER.firefox ? document.characterSet : document.charset);
	try {
		if(src) {
			scriptNode.src = src;
			scriptNode.onloadDone = false;
			scriptNode.onload = function () {
				scriptNode.onloadDone = true;
				JSLOADED[src] = 1;
			};
			scriptNode.onreadystatechange = function () {
				if((scriptNode.readyState == 'loaded' || scriptNode.readyState == 'complete') && !scriptNode.onloadDone) {
					scriptNode.onloadDone = true;
					JSLOADED[src] = 1;
				}
			};
		} else if(text){
			scriptNode.text = text;
		}
		document.getElementsByTagName('head')[0].appendChild(scriptNode);
	} catch(e) {}
}
18、原生JavaScript返回按ID检索的元素对象

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function $(id) {  
  2.     return !id ? null : document.getElementById(id);  
  3. }  
function $(id) {
	return !id ? null : document.getElementById(id);
}
19、原生JavaScript返回浏览器版本内容

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function browserVersion(types) {  
  2.     var other = 1;  
  3.     for(i in types) {  
  4.         var v = types[i] ? types[i] : i;  
  5.         if(USERAGENT.indexOf(v) != -1) {  
  6.             var re = new RegExp(v + '(\\/|\\s)([\\d\\.]+)''ig');  
  7.             var matches = re.exec(USERAGENT);  
  8.             var ver = matches != null ? matches[2] : 0;  
  9.             other = ver !== 0 && v != 'mozilla' ? 0 : other;  
  10.         }else {  
  11.             var ver = 0;  
  12.         }  
  13.         eval('BROWSER.' + i + '= ver');  
  14.     }  
  15.     BROWSER.other = other;  
  16. }  
function browserVersion(types) {
	var other = 1;
	for(i in types) {
		var v = types[i] ? types[i] : i;
		if(USERAGENT.indexOf(v) != -1) {
			var re = new RegExp(v + '(\\/|\\s)([\\d\\.]+)', 'ig');
			var matches = re.exec(USERAGENT);
			var ver = matches != null ? matches[2] : 0;
			other = ver !== 0 && v != 'mozilla' ? 0 : other;
		}else {
			var ver = 0;
		}
		eval('BROWSER.' + i + '= ver');
	}
	BROWSER.other = other;
}
20、原生JavaScript元素显示的通用方法

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function $(id) {  
  2.     return !id ? null : document.getElementById(id);  
  3. }  
  4. function display(id) {  
  5.     var obj = $(id);  
  6.     if(obj.style.visibility) {  
  7.         obj.style.visibility = obj.style.visibility == 'visible' ? 'hidden' : 'visible';  
  8.     } else {  
  9.         obj.style.display = obj.style.display == '' ? 'none' : '';  
  10.     }  
  11. }  
function $(id) {
	return !id ? null : document.getElementById(id);
}
function display(id) {
	var obj = $(id);
	if(obj.style.visibility) {
		obj.style.visibility = obj.style.visibility == 'visible' ? 'hidden' : 'visible';
	} else {
		obj.style.display = obj.style.display == '' ? 'none' : '';
	}
}

21、原生JavaScript中有insertBefore方法,可惜却没有insertAfter方法?用如下函数实现

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function insertAfter(newChild,refChild){   
  2.     var parElem=refChild.parentNode;   
  3.     if(parElem.lastChild==refChild){   
  4.         refChild.appendChild(newChild);   
  5.     }else{   
  6.         parElem.insertBefore(newChild,refChild.nextSibling);   
  7.     }   
  8. }  
function insertAfter(newChild,refChild){ 
	var parElem=refChild.parentNode; 
	if(parElem.lastChild==refChild){ 
		refChild.appendChild(newChild); 
	}else{ 
		parElem.insertBefore(newChild,refChild.nextSibling); 
	} 
}
22、原生JavaScript中兼容浏览器绑定元素事件
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function addEventSamp(obj,evt,fn){   
  2.     if (obj.addEventListener) {   
  3.         obj.addEventListener(evt, fn, false);   
  4.     }else if(obj.attachEvent){   
  5.         obj.attachEvent('on'+evt,fn);   
  6.     }   
  7. }   
function addEventSamp(obj,evt,fn){ 
	if (obj.addEventListener) { 
		obj.addEventListener(evt, fn, false); 
	}else if(obj.attachEvent){ 
		obj.attachEvent('on'+evt,fn); 
	} 
} 
23、原生JavaScript光标停在文字的后面,文本框获得焦点时调用
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function focusLast(){   
  2.     var e = event.srcElement;   
  3.     var r =e.createTextRange();   
  4.     r.moveStart('character',e.value.length);   
  5.     r.collapse(true);   
  6.     r.select();   
  7. }  
function focusLast(){ 
	var e = event.srcElement; 
	var r =e.createTextRange(); 
	r.moveStart('character',e.value.length); 
	r.collapse(true); 
	r.select(); 
}
24、原生JavaScript检验URL链接是否有效
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getUrlState(URL){   
  2.     var xmlhttp = new ActiveXObject("microsoft.xmlhttp");   
  3.     xmlhttp.Open("GET",URL, false);    
  4.     try{    
  5.         xmlhttp.Send();   
  6.     }catch(e){  
  7.     }finally{   
  8.         var result = xmlhttp.responseText;   
  9.         if(result){   
  10.             if(xmlhttp.Status==200){   
  11.                 return(true);   
  12.             }else{   
  13.                 return(false);   
  14.             }   
  15.         }else{   
  16.             return(false);   
  17.         }   
  18.     }   
  19. }  
function getUrlState(URL){ 
	var xmlhttp = new ActiveXObject("microsoft.xmlhttp"); 
	xmlhttp.Open("GET",URL, false);  
	try{  
		xmlhttp.Send(); 
	}catch(e){
	}finally{ 
		var result = xmlhttp.responseText; 
		if(result){ 
			if(xmlhttp.Status==200){ 
				return(true); 
			}else{ 
				return(false); 
			} 
		}else{ 
			return(false); 
		} 
	} 
}
25、原生JavaScript格式化CSS样式代码
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function formatCss(s){//格式化代码  
  2.     s = s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1");  
  3.     s = s.replace(/;\s*;/g, ";"); //清除连续分号  
  4.     s = s.replace(/\,[\s\.\#\d]*{/g, "{");  
  5.     s = s.replace(/([^\s])\{([^\s])/g, "$1 {\n\t$2");  
  6.     s = s.replace(/([^\s])\}([^\n]*)/g, "$1\n}\n$2");  
  7.     s = s.replace(/([^\s]);([^\s\}])/g, "$1;\n\t$2");  
  8.     return s;  
  9. }  
function formatCss(s){//格式化代码
	s = s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1");
	s = s.replace(/;\s*;/g, ";"); //清除连续分号
	s = s.replace(/\,[\s\.\#\d]*{/g, "{");
	s = s.replace(/([^\s])\{([^\s])/g, "$1 {\n\t$2");
	s = s.replace(/([^\s])\}([^\n]*)/g, "$1\n}\n$2");
	s = s.replace(/([^\s]);([^\s\}])/g, "$1;\n\t$2");
	return s;
}
26、原生JavaScript压缩CSS样式代码
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function yasuoCss (s) {//压缩代码  
  2.     s = s.replace(/\/\*(.|\n)*?\*\//g, ""); //删除注释  
  3.     s = s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1");  
  4.     s = s.replace(/\,[\s\.\#\d]*\{/g, "{"); //容错处理  
  5.     s = s.replace(/;\s*;/g, ";"); //清除连续分号  
  6.     s = s.match(/^\s*(\S+(\s+\S+)*)\s*$/); //去掉首尾空白  
  7.     return (s == null) ? "" : s[1];  
  8. }  
function yasuoCss (s) {//压缩代码
	s = s.replace(/\/\*(.|\n)*?\*\//g, ""); //删除注释
	s = s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1");
	s = s.replace(/\,[\s\.\#\d]*\{/g, "{"); //容错处理
	s = s.replace(/;\s*;/g, ";"); //清除连续分号
	s = s.match(/^\s*(\S+(\s+\S+)*)\s*$/); //去掉首尾空白
	return (s == null) ? "" : s[1];
}
27、原生JavaScript获取当前路径
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. var currentPageUrl = "";  
  2. if (typeof this.href === "undefined") {  
  3.     currentPageUrl = document.location.toString().toLowerCase();  
  4. }  
  5. else {  
  6.     currentPageUrl = this.href.toString().toLowerCase();  
  7. }  
var currentPageUrl = "";
if (typeof this.href === "undefined") {
    currentPageUrl = document.location.toString().toLowerCase();
}
else {
    currentPageUrl = this.href.toString().toLowerCase();
}
28、原生JavaScriptIP转成整型
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function _ip2int(ip){  
  2.     var num = 0;  
  3.     ip = ip.split(".");  
  4.     num = Number(ip[0]) * 256 * 256 * 256 + Number(ip[1]) * 256 * 256 + Number(ip[2]) * 256 + Number(ip[3]);  
  5.     num = num >>> 0;  
  6.     return num;  
  7. }  
function _ip2int(ip){
    var num = 0;
    ip = ip.split(".");
    num = Number(ip[0]) * 256 * 256 * 256 + Number(ip[1]) * 256 * 256 + Number(ip[2]) * 256 + Number(ip[3]);
    num = num >>> 0;
    return num;
}
29、原生JavaScript整型解析为IP地址
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function _int2iP(num){  
  2.     var str;  
  3.     var tt = new Array();  
  4.     tt[0] = (num >>> 24) >>> 0;  
  5.     tt[1] = ((num << 8) >>> 24) >>> 0;  
  6.     tt[2] = (num << 16) >>> 24;  
  7.     tt[3] = (num << 24) >>> 24;  
  8.     str = String(tt[0]) + "." + String(tt[1]) + "." + String(tt[2]) + "." + String(tt[3]);  
  9.     return str;  
  10. }  
function _int2iP(num){
    var str;
    var tt = new Array();
    tt[0] = (num >>> 24) >>> 0;
    tt[1] = ((num << 8) >>> 24) >>> 0;
    tt[2] = (num << 16) >>> 24;
    tt[3] = (num << 24) >>> 24;
    str = String(tt[0]) + "." + String(tt[1]) + "." + String(tt[2]) + "." + String(tt[3]);
    return str;
}
30、原生JavaScript实现checkbox全选与全不选

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function checkAll() {  
  2.     var selectall = document.getElementById("selectall");  
  3.     var allbox = document.getElementsByName("allbox");  
  4.     if (selectall.checked) {  
  5.         for (var i = 0; i < allbox.length; i++) {  
  6.             allbox[i].checked = true;  
  7.         }  
  8.     } else {  
  9.         for (var i = 0; i < allbox.length; i++) {  
  10.             allbox[i].checked = false;  
  11.         }  
  12.     }  
  13. }  
function checkAll() {
	var selectall = document.getElementById("selectall");
	var allbox = document.getElementsByName("allbox");
	if (selectall.checked) {
		for (var i = 0; i < allbox.length; i++) {
			allbox[i].checked = true;
		}
	} else {
		for (var i = 0; i < allbox.length; i++) {
			allbox[i].checked = false;
		}
	}
}

(31~40)移动篇
31、原生JavaScript判断是否移动设备

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isMobile(){  
  2.     if (typeof this._isMobile === 'boolean'){  
  3.         return this._isMobile;  
  4.     }  
  5.     var screenWidth = this.getScreenWidth();  
  6.     var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;  
  7.     var fixViewPortsExperimentRunning = fixViewPortsExperiment && (fixViewPortsExperiment.toLowerCase() === "new");  
  8.     if(!fixViewPortsExperiment){  
  9.         if(!this.isAppleMobileDevice()){  
  10.             screenWidth = screenWidth/window.devicePixelRatio;  
  11.         }  
  12.     }  
  13.     var isMobileScreenSize = screenWidth < 600;  
  14.     var isMobileUserAgent = false;  
  15.     this._isMobile = isMobileScreenSize && this.isTouchScreen();  
  16.     return this._isMobile;  
  17. }  
function isMobile(){
	if (typeof this._isMobile === 'boolean'){
		return this._isMobile;
	}
	var screenWidth = this.getScreenWidth();
	var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;
	var fixViewPortsExperimentRunning = fixViewPortsExperiment && (fixViewPortsExperiment.toLowerCase() === "new");
	if(!fixViewPortsExperiment){
		if(!this.isAppleMobileDevice()){
			screenWidth = screenWidth/window.devicePixelRatio;
		}
	}
	var isMobileScreenSize = screenWidth < 600;
	var isMobileUserAgent = false;
	this._isMobile = isMobileScreenSize && this.isTouchScreen();
	return this._isMobile;
}
32、原生JavaScript判断是否移动设备访问
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isMobileUserAgent(){  
  2.     return (/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase()));  
  3. }  
function isMobileUserAgent(){
	return (/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase()));
}
33、原生JavaScript判断是否苹果移动设备访问
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isAppleMobileDevice(){  
  2.     return (/iphone|ipod|ipad|Macintosh/i.test(navigator.userAgent.toLowerCase()));  
  3. }  
function isAppleMobileDevice(){
	return (/iphone|ipod|ipad|Macintosh/i.test(navigator.userAgent.toLowerCase()));
}
34、原生JavaScript判断是否安卓移动设备访问
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isAndroidMobileDevice(){  
  2.     return (/android/i.test(navigator.userAgent.toLowerCase()));  
  3. }  
function isAndroidMobileDevice(){
	return (/android/i.test(navigator.userAgent.toLowerCase()));
}
35、原生JavaScript判断是否Touch屏幕
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isTouchScreen(){  
  2.     return (('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch);  
  3. }  
function isTouchScreen(){
	return (('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch);
}
36、原生JavaScript判断是否在安卓上的谷歌浏览器
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isNewChromeOnAndroid(){  
  2.     if(this.isAndroidMobileDevice()){  
  3.         var userAgent = navigator.userAgent.toLowerCase();  
  4.         if((/chrome/i.test(userAgent))){  
  5.             var parts = userAgent.split('chrome/');  
  6.   
  7.             var fullVersionString = parts[1].split(" ")[0];  
  8.             var versionString = fullVersionString.split('.')[0];  
  9.             var version = parseInt(versionString);  
  10.   
  11.             if(version >= 27){  
  12.                 return true;  
  13.             }  
  14.         }  
  15.     }  
  16.     return false;  
  17. }  
function isNewChromeOnAndroid(){
	if(this.isAndroidMobileDevice()){
		var userAgent = navigator.userAgent.toLowerCase();
		if((/chrome/i.test(userAgent))){
			var parts = userAgent.split('chrome/');

			var fullVersionString = parts[1].split(" ")[0];
			var versionString = fullVersionString.split('.')[0];
			var version = parseInt(versionString);

			if(version >= 27){
				return true;
			}
		}
	}
	return false;
}
37、原生JavaScript判断是否打开视窗
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isViewportOpen() {  
  2.     return !!document.getElementById('wixMobileViewport');  
  3. }  
function isViewportOpen() {
	return !!document.getElementById('wixMobileViewport');
}
38、原生JavaScript获取移动设备初始化大小
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getInitZoom(){  
  2.     if(!this._initZoom){  
  3.         var screenWidth = Math.min(screen.height, screen.width);  
  4.         if(this.isAndroidMobileDevice() && !this.isNewChromeOnAndroid()){  
  5.             screenWidth = screenWidth/window.devicePixelRatio;  
  6.         }  
  7.         this._initZoom = screenWidth /document.body.offsetWidth;  
  8.     }  
  9.     return this._initZoom;  
  10. }  
function getInitZoom(){
	if(!this._initZoom){
		var screenWidth = Math.min(screen.height, screen.width);
		if(this.isAndroidMobileDevice() && !this.isNewChromeOnAndroid()){
			screenWidth = screenWidth/window.devicePixelRatio;
		}
		this._initZoom = screenWidth /document.body.offsetWidth;
	}
	return this._initZoom;
}
39、原生JavaScript获取移动设备最大化大小
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getZoom(){  
  2.     var screenWidth = (Math.abs(window.orientation) === 90) ? Math.max(screen.height, screen.width) : Math.min(screen.height, screen.width);  
  3.     if(this.isAndroidMobileDevice() && !this.isNewChromeOnAndroid()){  
  4.         screenWidth = screenWidth/window.devicePixelRatio;  
  5.     }  
  6.     var FixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;  
  7.     var FixViewPortsExperimentRunning = FixViewPortsExperiment && (FixViewPortsExperiment === "New" || FixViewPortsExperiment === "new");  
  8.     if(FixViewPortsExperimentRunning){  
  9.         return screenWidth / window.innerWidth;  
  10.     }else{  
  11.         return screenWidth / document.body.offsetWidth;  
  12.     }  
  13. }  
function getZoom(){
	var screenWidth = (Math.abs(window.orientation) === 90) ? Math.max(screen.height, screen.width) : Math.min(screen.height, screen.width);
	if(this.isAndroidMobileDevice() && !this.isNewChromeOnAndroid()){
		screenWidth = screenWidth/window.devicePixelRatio;
	}
	var FixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;
	var FixViewPortsExperimentRunning = FixViewPortsExperiment && (FixViewPortsExperiment === "New" || FixViewPortsExperiment === "new");
	if(FixViewPortsExperimentRunning){
		return screenWidth / window.innerWidth;
	}else{
		return screenWidth / document.body.offsetWidth;
	}
}
40、原生JavaScript获取移动设备屏幕宽度

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getScreenWidth(){  
  2.     var smallerSide = Math.min(screen.width, screen.height);  
  3.     var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;  
  4.     var fixViewPortsExperimentRunning = fixViewPortsExperiment && (fixViewPortsExperiment.toLowerCase() === "new");  
  5.     if(fixViewPortsExperiment){  
  6.         if(this.isAndroidMobileDevice() && !this.isNewChromeOnAndroid()){  
  7.             smallerSide = smallerSide/window.devicePixelRatio;  
  8.         }  
  9.     }  
  10.     return smallerSide;  
  11. }  
function getScreenWidth(){
	var smallerSide = Math.min(screen.width, screen.height);
	var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;
	var fixViewPortsExperimentRunning = fixViewPortsExperiment && (fixViewPortsExperiment.toLowerCase() === "new");
	if(fixViewPortsExperiment){
		if(this.isAndroidMobileDevice() && !this.isNewChromeOnAndroid()){
			smallerSide = smallerSide/window.devicePixelRatio;
		}
	}
	return smallerSide;
}
41、原生JavaScript完美判断是否为网址
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function IsURL(strUrl) {  
  2.     var regular = /^\b(((https?|ftp):\/\/)?[-a-z0-9]+(\.[-a-z0-9]+)*\.(?:com|edu|gov|int|mil|net|org|biz|info|name|museum|asia|coop|aero|[a-z][a-z]|((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d))\b(\/[-a-z0-9_:\@&?=+,.!\/~%\$]*)?)$/i  
  3.     if (regular.test(strUrl)) {  
  4.         return true;  
  5.     }  
  6.     else {  
  7.         return false;  
  8.     }  
  9. }  
function IsURL(strUrl) {
    var regular = /^\b(((https?|ftp):\/\/)?[-a-z0-9]+(\.[-a-z0-9]+)*\.(?:com|edu|gov|int|mil|net|org|biz|info|name|museum|asia|coop|aero|[a-z][a-z]|((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d))\b(\/[-a-z0-9_:\@&?=+,.!\/~%\$]*)?)$/i
    if (regular.test(strUrl)) {
        return true;
    }
    else {
        return false;
    }
}
42、原生JavaScript根据样式名称检索元素对象
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getElementsByClassName(name) {  
  2.     var tags = document.getElementsByTagName('*') || document.all;  
  3.     var els = [];  
  4.     for (var i = 0; i < tags.length; i++) {  
  5.         if (tags[i].className) {  
  6.             var cs = tags[i].className.split(' ');  
  7.             for (var j = 0; j < cs.length; j++) {  
  8.                 if (name == cs[j]) {  
  9.                     els.push(tags[i]);  
  10.                     break  
  11.                 }  
  12.             }  
  13.         }  
  14.     }  
  15.     return els  
  16. }  
function getElementsByClassName(name) {
    var tags = document.getElementsByTagName('*') || document.all;
    var els = [];
    for (var i = 0; i < tags.length; i++) {
        if (tags[i].className) {
            var cs = tags[i].className.split(' ');
            for (var j = 0; j < cs.length; j++) {
                if (name == cs[j]) {
                    els.push(tags[i]);
                    break
                }
            }
        }
    }
    return els
}
43、原生JavaScript判断是否以某个字符串开头
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. String.prototype.startWith = function (s) {  
  2.     return this.indexOf(s) == 0  
  3. }  
String.prototype.startWith = function (s) {
    return this.indexOf(s) == 0
}
44、原生JavaScript判断是否以某个字符串结束
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. String.prototype.endWith = function (s) {  
  2.     var d = this.length - s.length;  
  3.     return (d >= 0 && this.lastIndexOf(s) == d)  
  4. }  
String.prototype.endWith = function (s) {
    var d = this.length - s.length;
    return (d >= 0 && this.lastIndexOf(s) == d)
}
45、原生JavaScript返回IE浏览器的版本号
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getIE(){  
  2.     if (window.ActiveXObject){  
  3.         var v = navigator.userAgent.match(/MSIE ([^;]+)/)[1];  
  4.         return parseFloat(v.substring(0, v.indexOf(".")))  
  5.     }  
  6.     return false  
  7. }  
function getIE(){
    if (window.ActiveXObject){
        var v = navigator.userAgent.match(/MSIE ([^;]+)/)[1];
        return parseFloat(v.substring(0, v.indexOf(".")))
    }
    return false
}
46、原生JavaScript获取页面高度
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getPageHeight(){  
  2.     var g = document, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat"  
  3.             ? a  
  4.             : g.documentElement;  
  5.     return Math.max(f.scrollHeight, a.scrollHeight, d.clientHeight);  
  6. }  
function getPageHeight(){
	var g = document, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat"
			? a
			: g.documentElement;
	return Math.max(f.scrollHeight, a.scrollHeight, d.clientHeight);
}
47、原生JavaScript获取页面scrollLeft
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getPageScrollLeft(){  
  2.     var a = document;  
  3.     return a.documentElement.scrollLeft || a.body.scrollLeft;  
  4. }  
function getPageScrollLeft(){
	var a = document;
	return a.documentElement.scrollLeft || a.body.scrollLeft;
}
48、原生JavaScript获取页面可视宽度
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getPageViewWidth(){  
  2.     var d = document, a = d.compatMode == "BackCompat"  
  3.             ? d.body  
  4.             : d.documentElement;  
  5.     return a.clientWidth;  
  6. }  
function getPageViewWidth(){
	var d = document, a = d.compatMode == "BackCompat"
			? d.body
			: d.documentElement;
	return a.clientWidth;
}
49、原生JavaScript获取页面宽度
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getPageWidth(){  
  2.     var g = document, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat"  
  3.             ? a  
  4.             : g.documentElement;  
  5.     return Math.max(f.scrollWidth, a.scrollWidth, d.clientWidth);  
  6. }  
function getPageWidth(){
	var g = document, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat"
			? a
			: g.documentElement;
	return Math.max(f.scrollWidth, a.scrollWidth, d.clientWidth);
}
50、原生JavaScript获取页面scrollTop

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getPageScrollTop(){  
  2.     var a = document;  
  3.     return a.documentElement.scrollTop || a.body.scrollTop;  
  4. }  
function getPageScrollTop(){
	var a = document;
	return a.documentElement.scrollTop || a.body.scrollTop;
}
51、原生JavaScript获取页面可视高度
<div class="dp-highlighter bg_javascript"><div class="bar"><div class="tools"><strong>[javascript]</strong> <a target=_blank title="view plain" class="ViewSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">view plain</a><a target=_blank title="copy" class="CopyToClipboard" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">copy</a><a target=_blank title="print" class="PrintSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">print</a><a target=_blank title="?" class="About" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">?</a><a target=_blank title="在CODE上查看代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738" target="_blank"><img width="12" height="12" style="left: 2px; top: 1px; position: relative;" alt="在CODE上查看代码片" src="https://code.csdn.net/assets/CODE_ico.png" /></a><a target=_blank title="派生到我的代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738/fork" target="_blank"><img width="12" height="12" style="left: 2px; top: 2px; position: relative;" alt="派生到我的代码片" src="https://code.csdn.net/assets/ico_fork.svg" /></a></div></div><ol class="dp-c"><li class="alt"><span><span class="keyword">function</span><span> getPageViewHeight() {  </span></span></li><li><span>    <span class="keyword">var</span><span> d = document, a = d.compatMode == </span><span class="string">"BackCompat"</span><span>  </span></span></li><li class="alt"><span>            ? d.body  </span></li><li><span>            : d.documentElement;  </span></li><li class="alt"><span>    <span class="keyword">return</span><span> a.clientHeight;  </span></span></li><li><span>}  </span></li></ol></div><pre class="javascript" style="display: none;" name="code" code_snippet_id="135738" snippet_file_name="blog_20131231_51_6485808">function getPageViewHeight() {
	var d = document, a = d.compatMode == "BackCompat"
			? d.body
			: d.documentElement;
	return a.clientHeight;
}
52、原生JavaScript跨浏览器添加事件
 
<div class="dp-highlighter bg_javascript"><div class="bar"><div class="tools"><strong>[javascript]</strong> <a target=_blank title="view plain" class="ViewSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">view plain</a><a target=_blank title="copy" class="CopyToClipboard" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">copy</a><a target=_blank title="print" class="PrintSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">print</a><a target=_blank title="?" class="About" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">?</a><a target=_blank title="在CODE上查看代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738" target="_blank"><img width="12" height="12" style="left: 2px; top: 1px; position: relative;" alt="在CODE上查看代码片" src="https://code.csdn.net/assets/CODE_ico.png" /></a><a target=_blank title="派生到我的代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738/fork" target="_blank"><img width="12" height="12" style="left: 2px; top: 2px; position: relative;" alt="派生到我的代码片" src="https://code.csdn.net/assets/ico_fork.svg" /></a></div></div><ol class="dp-c"><li class="alt"><span><span class="keyword">function</span><span> addEvt(oTarget,sEvtType,fnHandle){  </span></span></li><li><span>    <span class="keyword">if</span><span>(!oTarget){</span><span class="keyword">return</span><span>;}  </span></span></li><li class="alt"><span>    <span class="keyword">if</span><span>(oTarget.addEventListener){  </span></span></li><li><span>        oTarget.addEventListener(sEvtType,fnHandle,<span class="keyword">false</span><span>);  </span></span></li><li class="alt"><span>    }<span class="keyword">else</span><span> </span><span class="keyword">if</span><span>(oTarget.attachEvent){  </span></span></li><li><span>        oTarget.attachEvent(<span class="string">"on"</span><span> + sEvtType,fnHandle);  </span></span></li><li class="alt"><span>    }<span class="keyword">else</span><span>{  </span></span></li><li><span>        oTarget[<span class="string">"on"</span><span> + sEvtType] = fnHandle;  </span></span></li><li class="alt"><span>    }  </span></li><li><span>}  </span></li></ol></div><pre class="javascript" style="display: none;" name="code" code_snippet_id="135738" snippet_file_name="blog_20131231_52_4675664">function addEvt(oTarget,sEvtType,fnHandle){
	if(!oTarget){return;}
	if(oTarget.addEventListener){
		oTarget.addEventListener(sEvtType,fnHandle,false);
	}else if(oTarget.attachEvent){
		oTarget.attachEvent("on" + sEvtType,fnHandle);
	}else{
		oTarget["on" + sEvtType] = fnHandle;
	}
}
53、原生JavaScript跨浏览器删除事件
 
<div class="dp-highlighter bg_javascript"><div class="bar"><div class="tools"><strong>[javascript]</strong> <a target=_blank title="view plain" class="ViewSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">view plain</a><a target=_blank title="copy" class="CopyToClipboard" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">copy</a><a target=_blank title="print" class="PrintSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">print</a><a target=_blank title="?" class="About" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">?</a><a target=_blank title="在CODE上查看代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738" target="_blank"><img width="12" height="12" style="left: 2px; top: 1px; position: relative;" alt="在CODE上查看代码片" src="https://code.csdn.net/assets/CODE_ico.png" /></a><a target=_blank title="派生到我的代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738/fork" target="_blank"><img width="12" height="12" style="left: 2px; top: 2px; position: relative;" alt="派生到我的代码片" src="https://code.csdn.net/assets/ico_fork.svg" /></a></div></div><ol class="dp-c"><li class="alt"><span><span class="keyword">function</span><span> delEvt(oTarget,sEvtType,fnHandle){  </span></span></li><li><span>    <span class="keyword">if</span><span>(!oTarget){</span><span class="keyword">return</span><span>;}  </span></span></li><li class="alt"><span>    <span class="keyword">if</span><span>(oTarget.addEventListener){  </span></span></li><li><span>        oTarget.addEventListener(sEvtType,fnHandle,<span class="keyword">false</span><span>);  </span></span></li><li class="alt"><span>    }<span class="keyword">else</span><span> </span><span class="keyword">if</span><span>(oTarget.attachEvent){  </span></span></li><li><span>        oTarget.attachEvent(<span class="string">"on"</span><span> + sEvtType,fnHandle);  </span></span></li><li class="alt"><span>    }<span class="keyword">else</span><span>{  </span></span></li><li><span>        oTarget[<span class="string">"on"</span><span> + sEvtType] = fnHandle;  </span></span></li><li class="alt"><span>    }  </span></li><li><span>}  </span></li></ol></div><pre class="javascript" style="display: none;" name="code" code_snippet_id="135738" snippet_file_name="blog_20131231_53_2865521">function delEvt(oTarget,sEvtType,fnHandle){
	if(!oTarget){return;}
	if(oTarget.addEventListener){
		oTarget.addEventListener(sEvtType,fnHandle,false);
	}else if(oTarget.attachEvent){
		oTarget.attachEvent("on" + sEvtType,fnHandle);
	}else{
		oTarget["on" + sEvtType] = fnHandle;
	}
}
54、原生JavaScript去掉url前缀
 
<div class="dp-highlighter bg_javascript"><div class="bar"><div class="tools"><strong>[javascript]</strong> <a target=_blank title="view plain" class="ViewSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">view plain</a><a target=_blank title="copy" class="CopyToClipboard" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">copy</a><a target=_blank title="print" class="PrintSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">print</a><a target=_blank title="?" class="About" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">?</a><a target=_blank title="在CODE上查看代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738" target="_blank"><img width="12" height="12" style="left: 2px; top: 1px; position: relative;" alt="在CODE上查看代码片" src="https://code.csdn.net/assets/CODE_ico.png" /></a><a target=_blank title="派生到我的代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738/fork" target="_blank"><img width="12" height="12" style="left: 2px; top: 2px; position: relative;" alt="派生到我的代码片" src="https://code.csdn.net/assets/ico_fork.svg" /></a></div></div><ol class="dp-c"><li class="alt"><span><span class="keyword">function</span><span> removeUrlPrefix(a){  </span></span></li><li><span>  a=a.replace(/:/g,<span class="string">":"</span><span>).replace(/./g,</span><span class="string">"."</span><span>).replace(///g,</span><span class="string">"/"</span><span>);  </span></span></li><li class="alt"><span>  <span class="keyword">while</span><span>(trim(a).toLowerCase().indexOf(</span><span class="string">"http://"</span><span>)==0){  </span></span></li><li><span>    a=trim(a.replace(/http:\/\<span class="comment">//i,""));</span><span>  </span></span></li><li class="alt"><span>  }  </span></li><li><span>  <span class="keyword">return</span><span> a;  </span></span></li><li class="alt"><span>}  </span></li></ol></div><pre class="javascript" style="display: none;" name="code" code_snippet_id="135738" snippet_file_name="blog_20131231_54_2483837">function removeUrlPrefix(a){
  a=a.replace(/:/g,":").replace(/./g,".").replace(///g,"/");
  while(trim(a).toLowerCase().indexOf("http://")==0){
    a=trim(a.replace(/http:\/\//i,""));
  }
  return a;
}
55、原生JavaScript随机数时间戳
 
<div class="dp-highlighter bg_javascript"><div class="bar"><div class="tools"><strong>[javascript]</strong> <a target=_blank title="view plain" class="ViewSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">view plain</a><a target=_blank title="copy" class="CopyToClipboard" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">copy</a><a target=_blank title="print" class="PrintSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">print</a><a target=_blank title="?" class="About" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">?</a><a target=_blank title="在CODE上查看代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738" target="_blank"><img width="12" height="12" style="left: 2px; top: 1px; position: relative;" alt="在CODE上查看代码片" src="https://code.csdn.net/assets/CODE_ico.png" /></a><a target=_blank title="派生到我的代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738/fork" target="_blank"><img width="12" height="12" style="left: 2px; top: 2px; position: relative;" alt="派生到我的代码片" src="https://code.csdn.net/assets/ico_fork.svg" /></a></div></div><ol class="dp-c"><li class="alt"><span><span class="keyword">function</span><span> uniqueId(){  </span></span></li><li><span>    <span class="keyword">var</span><span> a=Math.random,b=parseInt;  </span></span></li><li class="alt"><span>    <span class="keyword">return</span><span> Number(</span><span class="keyword">new</span><span> Date()).toString()+b(10*a())+b(10*a())+b(10*a());  </span></span></li><li><span>}  </span></li></ol></div><pre class="javascript" style="display: none;" name="code" code_snippet_id="135738" snippet_file_name="blog_20131231_55_2102153">function uniqueId(){
	var a=Math.random,b=parseInt;
	return Number(new Date()).toString()+b(10*a())+b(10*a())+b(10*a());
}
 
56、原生JavaScript全角半角转换,iCase: 0全到半,1半到全,其他不转化 

<div class="dp-highlighter bg_javascript"><div class="bar"><div class="tools"><strong>[javascript]</strong> <a target=_blank title="view plain" class="ViewSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">view plain</a><a target=_blank title="copy" class="CopyToClipboard" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">copy</a><a target=_blank title="print" class="PrintSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">print</a><a target=_blank title="?" class="About" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">?</a><a target=_blank title="在CODE上查看代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738" target="_blank"><img width="12" height="12" style="left: 2px; top: 1px; position: relative;" alt="在CODE上查看代码片" src="https://code.csdn.net/assets/CODE_ico.png" /></a><a target=_blank title="派生到我的代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738/fork" target="_blank"><img width="12" height="12" style="left: 2px; top: 2px; position: relative;" alt="派生到我的代码片" src="https://code.csdn.net/assets/ico_fork.svg" /></a></div></div><ol class="dp-c"><li class="alt"><span><span class="keyword">function</span><span> chgCase(sStr,iCase){  </span></span></li><li><span>    <span class="keyword">if</span><span>(</span><span class="keyword">typeof</span><span> sStr != </span><span class="string">"string"</span><span> || sStr.length <= 0 || !(iCase === 0 || iCase == 1)){  </span></span></li><li class="alt"><span>        <span class="keyword">return</span><span> sStr;  </span></span></li><li><span>    }  </span></li><li class="alt"><span>    <span class="keyword">var</span><span> i,oRs=[],iCode;  </span></span></li><li><span>    <span class="keyword">if</span><span>(iCase){</span><span class="comment">/*半->全*/</span><span>  </span></span></li><li class="alt"><span>        <span class="keyword">for</span><span>(i=0; i<sStr.length;i+=1){   </span></span></li><li><span>            iCode = sStr.charCodeAt(i);  </span></li><li class="alt"><span>            <span class="keyword">if</span><span>(iCode == 32){  </span></span></li><li><span>                iCode = 12288;                </span></li><li class="alt"><span>            }<span class="keyword">else</span><span> </span><span class="keyword">if</span><span>(iCode < 127){  </span></span></li><li><span>                iCode += 65248;  </span></li><li class="alt"><span>            }  </span></li><li><span>            oRs.push(String.fromCharCode(iCode));   </span></li><li class="alt"><span>        }         </span></li><li><span>    }<span class="keyword">else</span><span>{</span><span class="comment">/*全->半*/</span><span>  </span></span></li><li class="alt"><span>        <span class="keyword">for</span><span>(i=0; i<sStr.length;i+=1){   </span></span></li><li><span>            iCode = sStr.charCodeAt(i);  </span></li><li class="alt"><span>            <span class="keyword">if</span><span>(iCode == 12288){  </span></span></li><li><span>                iCode = 32;  </span></li><li class="alt"><span>            }<span class="keyword">else</span><span> </span><span class="keyword">if</span><span>(iCode > 65280 && iCode < 65375){  </span></span></li><li><span>                iCode -= 65248;               </span></li><li class="alt"><span>            }  </span></li><li><span>            oRs.push(String.fromCharCode(iCode));   </span></li><li class="alt"><span>        }         </span></li><li><span>    }         </span></li><li class="alt"><span>    <span class="keyword">return</span><span> oRs.join(</span><span class="string">""</span><span>);          </span></span></li><li><span>}  </span></li></ol></div><pre class="javascript" style="display: none;" name="code" code_snippet_id="135738" snippet_file_name="blog_20131231_56_8655806">function chgCase(sStr,iCase){
	if(typeof sStr != "string" || sStr.length <= 0 || !(iCase === 0 || iCase == 1)){
		return sStr;
	}
	var i,oRs=[],iCode;
	if(iCase){/*半->全*/
		for(i=0; i<sStr.length;i+=1){ 
			iCode = sStr.charCodeAt(i);
			if(iCode == 32){
				iCode = 12288;				
			}else if(iCode < 127){
				iCode += 65248;
			}
			oRs.push(String.fromCharCode(iCode)); 
		}		
	}else{/*全->半*/
		for(i=0; i<sStr.length;i+=1){ 
			iCode = sStr.charCodeAt(i);
			if(iCode == 12288){
				iCode = 32;
			}else if(iCode > 65280 && iCode < 65375){
				iCode -= 65248;				
			}
			oRs.push(String.fromCharCode(iCode)); 
		}		
	}		
	return oRs.join("");		
}
57、原生JavaScript确认是否键盘有效输入值
 
<div class="dp-highlighter bg_javascript"><div class="bar"><div class="tools"><strong>[javascript]</strong> <a target=_blank title="view plain" class="ViewSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">view plain</a><a target=_blank title="copy" class="CopyToClipboard" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">copy</a><a target=_blank title="print" class="PrintSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">print</a><a target=_blank title="?" class="About" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">?</a><a target=_blank title="在CODE上查看代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738" target="_blank"><img width="12" height="12" style="left: 2px; top: 1px; position: relative;" alt="在CODE上查看代码片" src="https://code.csdn.net/assets/CODE_ico.png" /></a><a target=_blank title="派生到我的代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738/fork" target="_blank"><img width="12" height="12" style="left: 2px; top: 2px; position: relative;" alt="派生到我的代码片" src="https://code.csdn.net/assets/ico_fork.svg" /></a></div></div><ol class="dp-c"><li class="alt"><span><span class="keyword">function</span><span> checkKey(iKey){  </span></span></li><li><span>    <span class="keyword">if</span><span>(iKey == 32 || iKey == 229){</span><span class="keyword">return</span><span> </span><span class="keyword">true</span><span>;}</span><span class="comment">/*空格和异常*/</span><span>  </span></span></li><li class="alt"><span>    <span class="keyword">if</span><span>(iKey>47 && iKey < 58){</span><span class="keyword">return</span><span> </span><span class="keyword">true</span><span>;}</span><span class="comment">/*数字*/</span><span>  </span></span></li><li><span>    <span class="keyword">if</span><span>(iKey>64 && iKey < 91){</span><span class="keyword">return</span><span> </span><span class="keyword">true</span><span>;}</span><span class="comment">/*字母*/</span><span>  </span></span></li><li class="alt"><span>    <span class="keyword">if</span><span>(iKey>95 && iKey < 108){</span><span class="keyword">return</span><span> </span><span class="keyword">true</span><span>;}</span><span class="comment">/*数字键盘1*/</span><span>  </span></span></li><li><span>    <span class="keyword">if</span><span>(iKey>108 && iKey < 112){</span><span class="keyword">return</span><span> </span><span class="keyword">true</span><span>;}</span><span class="comment">/*数字键盘2*/</span><span>  </span></span></li><li class="alt"><span>    <span class="keyword">if</span><span>(iKey>185 && iKey < 193){</span><span class="keyword">return</span><span> </span><span class="keyword">true</span><span>;}</span><span class="comment">/*符号1*/</span><span>  </span></span></li><li><span>    <span class="keyword">if</span><span>(iKey>218 && iKey < 223){</span><span class="keyword">return</span><span> </span><span class="keyword">true</span><span>;}</span><span class="comment">/*符号2*/</span><span>  </span></span></li><li class="alt"><span>    <span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;  </span></span></li><li><span>}  </span></li></ol></div><pre class="javascript" style="display: none;" name="code" code_snippet_id="135738" snippet_file_name="blog_20131231_57_3498376">function checkKey(iKey){
	if(iKey == 32 || iKey == 229){return true;}/*空格和异常*/
	if(iKey>47 && iKey < 58){return true;}/*数字*/
	if(iKey>64 && iKey < 91){return true;}/*字母*/
	if(iKey>95 && iKey < 108){return true;}/*数字键盘1*/
	if(iKey>108 && iKey < 112){return true;}/*数字键盘2*/
	if(iKey>185 && iKey < 193){return true;}/*符号1*/
	if(iKey>218 && iKey < 223){return true;}/*符号2*/
	return false;
}
 
58、原生JavaScript获取网页被卷去的位置 

<div class="dp-highlighter bg_javascript"><div class="bar"><div class="tools"><strong>[javascript]</strong> <a target=_blank title="view plain" class="ViewSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">view plain</a><a target=_blank title="copy" class="CopyToClipboard" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">copy</a><a target=_blank title="print" class="PrintSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">print</a><a target=_blank title="?" class="About" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">?</a><a target=_blank title="在CODE上查看代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738" target="_blank"><img width="12" height="12" style="left: 2px; top: 1px; position: relative;" alt="在CODE上查看代码片" src="https://code.csdn.net/assets/CODE_ico.png" /></a><a target=_blank title="派生到我的代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738/fork" target="_blank"><img width="12" height="12" style="left: 2px; top: 2px; position: relative;" alt="派生到我的代码片" src="https://code.csdn.net/assets/ico_fork.svg" /></a></div></div><ol class="dp-c"><li class="alt"><span><span class="keyword">function</span><span> getScrollXY() {  </span></span></li><li><span>    <span class="keyword">return</span><span> document.body.scrollTop ? {  </span></span></li><li class="alt"><span>        x: document.body.scrollLeft,  </span></li><li><span>        y: document.body.scrollTop  </span></li><li class="alt"><span>    }: {  </span></li><li><span>        x: document.documentElement.scrollLeft,  </span></li><li class="alt"><span>        y: document.documentElement.scrollTop  </span></li><li><span>    }  </span></li><li class="alt"><span>}  </span></li></ol></div><pre class="javascript" style="display: none;" name="code" code_snippet_id="135738" snippet_file_name="blog_20131231_58_2735008">function getScrollXY() {
    return document.body.scrollTop ? {
        x: document.body.scrollLeft,
        y: document.body.scrollTop
    }: {
        x: document.documentElement.scrollLeft,
        y: document.documentElement.scrollTop
    }
}
59、原生JavaScript另一种正则日期格式化函数+调用方法
 
<div class="dp-highlighter bg_javascript"><div class="bar"><div class="tools"><strong>[javascript]</strong> <a target=_blank title="view plain" class="ViewSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">view plain</a><a target=_blank title="copy" class="CopyToClipboard" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">copy</a><a target=_blank title="print" class="PrintSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">print</a><a target=_blank title="?" class="About" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">?</a><a target=_blank title="在CODE上查看代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738" target="_blank"><img width="12" height="12" style="left: 2px; top: 1px; position: relative;" alt="在CODE上查看代码片" src="https://code.csdn.net/assets/CODE_ico.png" /></a><a target=_blank title="派生到我的代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738/fork" target="_blank"><img width="12" height="12" style="left: 2px; top: 2px; position: relative;" alt="派生到我的代码片" src="https://code.csdn.net/assets/ico_fork.svg" /></a></div></div><ol class="dp-c"><li class="alt"><span><span>Date.prototype.format = </span><span class="keyword">function</span><span>(format){ </span><span class="comment">//author: meizz</span><span>  </span></span></li><li><span>  <span class="keyword">var</span><span> o = {  </span></span></li><li class="alt"><span>    <span class="string">"M+"</span><span> : </span><span class="keyword">this</span><span>.getMonth()+1, </span><span class="comment">//month</span><span>  </span></span></li><li><span>    <span class="string">"d+"</span><span> : </span><span class="keyword">this</span><span>.getDate(),    </span><span class="comment">//day</span><span>  </span></span></li><li class="alt"><span>    <span class="string">"h+"</span><span> : </span><span class="keyword">this</span><span>.getHours(),   </span><span class="comment">//hour</span><span>  </span></span></li><li><span>    <span class="string">"m+"</span><span> : </span><span class="keyword">this</span><span>.getMinutes(), </span><span class="comment">//minute</span><span>  </span></span></li><li class="alt"><span>    <span class="string">"s+"</span><span> : </span><span class="keyword">this</span><span>.getSeconds(), </span><span class="comment">//second</span><span>  </span></span></li><li><span>    <span class="string">"q+"</span><span> : Math.floor((</span><span class="keyword">this</span><span>.getMonth()+3)/3),  </span><span class="comment">//quarter</span><span>  </span></span></li><li class="alt"><span>    <span class="string">"S"</span><span> : </span><span class="keyword">this</span><span>.getMilliseconds() </span><span class="comment">//millisecond</span><span>  </span></span></li><li><span>  }  </span></li><li class="alt"><span>  <span class="keyword">if</span><span>(/(y+)/.test(format)) format=format.replace(RegExp.$1,  </span></span></li><li><span>    (<span class="keyword">this</span><span>.getFullYear()+</span><span class="string">""</span><span>).substr(4 - RegExp.$1.length));  </span></span></li><li class="alt"><span>  <span class="keyword">for</span><span>(</span><span class="keyword">var</span><span> k </span><span class="keyword">in</span><span> o)</span><span class="keyword">if</span><span>(</span><span class="keyword">new</span><span> RegExp(</span><span class="string">"("</span><span>+ k +</span><span class="string">")"</span><span>).test(format))  </span></span></li><li><span>    format = format.replace(RegExp.$1,  </span></li><li class="alt"><span>      RegExp.$1.length==1 ? o[k] :  </span></li><li><span>        (<span class="string">"00"</span><span>+ o[k]).substr((</span><span class="string">""</span><span>+ o[k]).length));  </span></span></li><li class="alt"><span>  <span class="keyword">return</span><span> format;  </span></span></li><li><span>}  </span></li><li class="alt"><span>alert(<span class="keyword">new</span><span> Date().format(</span><span class="string">"yyyy-MM-dd hh:mm:ss"</span><span>));  </span></span></li></ol></div><pre class="javascript" style="display: none;" name="code" code_snippet_id="135738" snippet_file_name="blog_20131231_59_2004660">Date.prototype.format = function(format){ //author: meizz
  var o = {
    "M+" : this.getMonth()+1, //month
    "d+" : this.getDate(),    //day
    "h+" : this.getHours(),   //hour
    "m+" : this.getMinutes(), //minute
    "s+" : this.getSeconds(), //second
    "q+" : Math.floor((this.getMonth()+3)/3),  //quarter
    "S" : this.getMilliseconds() //millisecond
  }
  if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
    (this.getFullYear()+"").substr(4 - RegExp.$1.length));
  for(var k in o)if(new RegExp("("+ k +")").test(format))
    format = format.replace(RegExp.$1,
      RegExp.$1.length==1 ? o[k] :
        ("00"+ o[k]).substr((""+ o[k]).length));
  return format;
}
alert(new Date().format("yyyy-MM-dd hh:mm:ss"));
60、原生JavaScript时间个性化输出功能
 
<div class="dp-highlighter bg_javascript"><div class="bar"><div class="tools"><strong>[javascript]</strong> <a target=_blank title="view plain" class="ViewSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">view plain</a><a target=_blank title="copy" class="CopyToClipboard" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">copy</a><a target=_blank title="print" class="PrintSource" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">print</a><a target=_blank title="?" class="About" href="http://blog.csdn.net/chinahuyong/article/details/17708127#">?</a><a target=_blank title="在CODE上查看代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738" target="_blank"><img width="12" height="12" style="left: 2px; top: 1px; position: relative;" alt="在CODE上查看代码片" src="https://code.csdn.net/assets/CODE_ico.png" /></a><a target=_blank title="派生到我的代码片" style="text-indent: 0px;" href="https://code.csdn.net/snippets/135738/fork" target="_blank"><img width="12" height="12" style="left: 2px; top: 2px; position: relative;" alt="派生到我的代码片" src="https://code.csdn.net/assets/ico_fork.svg" /></a></div></div><ol class="dp-c"><li class="alt"><span><span class="comment">/*</span> </span></li><li><span><span class="comment">1、< 60s, 显示为“刚刚”</span> </span></li><li class="alt"><span><span class="comment">2、>= 1min && < 60 min, 显示与当前时间差“XX分钟前”</span> </span></li><li><span><span class="comment">3、>= 60min && < 1day, 显示与当前时间差“今天 XX:XX”</span> </span></li><li class="alt"><span><span class="comment">4、>= 1day && < 1year, 显示日期“XX月XX日 XX:XX”</span> </span></li><li><span><span class="comment">5、>= 1year, 显示具体日期“XXXX年XX月XX日 XX:XX”</span> </span></li><li class="alt"><span><span class="comment"> */</span><span>  </span></span></li><li><span><span class="keyword">function</span><span> timeFormat(time){  </span></span></li><li class="alt"><span>  <span class="keyword">var</span><span> date = </span><span class="keyword">new</span><span> Date(time)  </span></span></li><li><span>    , curDate = <span class="keyword">new</span><span> Date()  </span></span></li><li class="alt"><span>    , year = date.getFullYear()  </span></li><li><span>    , month = date.getMonth() + 1  </span></li><li class="alt"><span>    , day = date.getDate()  </span></li><li><span>    , hour = date.getHours()  </span></li><li class="alt"><span>    , minute = date.getMinutes()  </span></li><li><span>    , curYear = curDate.getFullYear()  </span></li><li class="alt"><span>    , curHour = curDate.getHours()  </span></li><li><span>    , timeStr;  </span></li><li class="alt"><span>  </span></li><li><span>  <span class="keyword">if</span><span>(year < curYear){  </span></span></li><li class="alt"><span>    timeStr = year +<span class="string">'年'</span><span>+ month +</span><span class="string">'月'</span><span>+ day +</span><span class="string">'日 '</span><span>+ hour +</span><span class="string">':'</span><span>+ minute;  </span></span></li><li><span>  }<span class="keyword">else</span><span>{  </span></span></li><li class="alt"><span>    <span class="keyword">var</span><span> pastTime = curDate - date  </span></span></li><li><span>      , pastH = pastTime/3600000;  </span></li><li class="alt"><span>  </span></li><li><span>    <span class="keyword">if</span><span>(pastH > curHour){  </span></span></li><li class="alt"><span>      timeStr = month +<span class="string">'月'</span><span>+ day +</span><span class="string">'日 '</span><span>+ hour +</span><span class="string">':'</span><span>+ minute;  </span></span></li><li><span>    }<span class="keyword">else</span><span> </span><span class="keyword">if</span><span>(pastH >= 1){  </span></span></li><li class="alt"><span>      timeStr = <span class="string">'今天 '</span><span> + hour +</span><span class="string">':'</span><span>+ minute +</span><span class="string">'分'</span><span>;  </span></span></li><li><span>    }<span class="keyword">else</span><span>{  </span></span></li><li class="alt"><span>      <span class="keyword">var</span><span> pastM = curDate.getMinutes() - minute;  </span></span></li><li><span>      <span class="keyword">if</span><span>(pastM > 1){  </span></span></li><li class="alt"><span>        timeStr = pastM +<span class="string">'分钟前'</span><span>;  </span></span></li><li><span>      }<span class="keyword">else</span><span>{  </span></span></li><li class="alt"><span>        timeStr = <span class="string">'刚刚'</span><span>;  </span></span></li><li><span>      }  </span></li><li class="alt"><span>    }  </span></li><li><span>  }  </span></li><li class="alt"><span>  <span class="keyword">return</span><span> timeStr;  </span></span></li><li><span>}  </span></li></ol></div><pre class="javascript" style="display: none;" name="code" code_snippet_id="135738" snippet_file_name="blog_20131231_60_8034925">/*
1、< 60s, 显示为“刚刚”
2、>= 1min && < 60 min, 显示与当前时间差“XX分钟前”
3、>= 60min && < 1day, 显示与当前时间差“今天 XX:XX”
4、>= 1day && < 1year, 显示日期“XX月XX日 XX:XX”
5、>= 1year, 显示具体日期“XXXX年XX月XX日 XX:XX”
 */
function timeFormat(time){
  var date = new Date(time)
    , curDate = new Date()
    , year = date.getFullYear()
    , month = date.getMonth() + 1
    , day = date.getDate()
    , hour = date.getHours()
    , minute = date.getMinutes()
    , curYear = curDate.getFullYear()
    , curHour = curDate.getHours()
    , timeStr;

  if(year < curYear){
    timeStr = year +'年'+ month +'月'+ day +'日 '+ hour +':'+ minute;
  }else{
    var pastTime = curDate - date
      , pastH = pastTime/3600000;

    if(pastH > curHour){
      timeStr = month +'月'+ day +'日 '+ hour +':'+ minute;
    }else if(pastH >= 1){
      timeStr = '今天 ' + hour +':'+ minute +'分';
    }else{
      var pastM = curDate.getMinutes() - minute;
      if(pastM > 1){
        timeStr = pastM +'分钟前';
      }else{
        timeStr = '刚刚';
      }
    }
  }
  return timeStr;
}
 

61、原生JavaScript解决offsetX兼容性问题

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. // 针对火狐不支持offsetX/Y  
  2. function getOffset(e){  
  3.   var target = e.target, // 当前触发的目标对象  
  4.       eventCoord,  
  5.       pageCoord,  
  6.       offsetCoord;  
  7.   
  8.   
  9.   // 计算当前触发元素到文档的距离  
  10.   pageCoord = getPageCoord(target);  
  11.   
  12.   
  13.   // 计算光标到文档的距离  
  14.   eventCoord = {  
  15.     X : window.pageXOffset + e.clientX,  
  16.     Y : window.pageYOffset + e.clientY  
  17.   };  
  18.   
  19.   
  20.   // 相减获取光标到第一个定位的父元素的坐标  
  21.   offsetCoord = {  
  22.     X : eventCoord.X - pageCoord.X,  
  23.     Y : eventCoord.Y - pageCoord.Y  
  24.   };  
  25.   return offsetCoord;  
  26. }  
  27.   
  28.   
  29. function getPageCoord(element){  
  30.   var coord = { X : 0, Y : 0 };  
  31.   // 计算从当前触发元素到根节点为止,  
  32.   // 各级 offsetParent 元素的 offsetLeft 或 offsetTop 值之和  
  33.   while (element){  
  34.     coord.X += element.offsetLeft;  
  35.     coord.Y += element.offsetTop;  
  36.     element = element.offsetParent;  
  37.   }  
  38.   return coord;  
  39. }  
// 针对火狐不支持offsetX/Y
function getOffset(e){
  var target = e.target, // 当前触发的目标对象
      eventCoord,
      pageCoord,
      offsetCoord;


  // 计算当前触发元素到文档的距离
  pageCoord = getPageCoord(target);


  // 计算光标到文档的距离
  eventCoord = {
    X : window.pageXOffset + e.clientX,
    Y : window.pageYOffset + e.clientY
  };


  // 相减获取光标到第一个定位的父元素的坐标
  offsetCoord = {
    X : eventCoord.X - pageCoord.X,
    Y : eventCoord.Y - pageCoord.Y
  };
  return offsetCoord;
}


function getPageCoord(element){
  var coord = { X : 0, Y : 0 };
  // 计算从当前触发元素到根节点为止,
  // 各级 offsetParent 元素的 offsetLeft 或 offsetTop 值之和
  while (element){
    coord.X += element.offsetLeft;
    coord.Y += element.offsetTop;
    element = element.offsetParent;
  }
  return coord;
}
62、原生JavaScript常用的正则表达式
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. //正整数  
  2. /^[0-9]*[1-9][0-9]*$/;  
  3. //负整数  
  4. /^-[0-9]*[1-9][0-9]*$/;  
  5. //正浮点数  
  6. /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;     
  7. //负浮点数  
  8. /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;    
  9. //浮点数  
  10. /^(-?\d+)(\.\d+)?$/;  
  11. //email地址  
  12. /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;  
  13. //url地址  
  14. /^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$/;  
  15. //年/月/日(年-月-日、年.月.日)  
  16. /^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/;  
  17. //匹配中文字符  
  18. /[\u4e00-\u9fa5]/;  
  19. //匹配帐号是否合法(字母开头,允许5-10字节,允许字母数字下划线)  
  20. /^[a-zA-Z][a-zA-Z0-9_]{4,9}$/;  
  21. //匹配空白行的正则表达式  
  22. /\n\s*\r/;  
  23. //匹配中国邮政编码  
  24. /[1-9]\d{5}(?!\d)/;  
  25. //匹配身份证  
  26. /\d{15}|\d{18}/;  
  27. //匹配国内电话号码  
  28. /(\d{3}-|\d{4}-)?(\d{8}|\d{7})?/;  
  29. //匹配IP地址  
  30. /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/;  
  31. //匹配首尾空白字符的正则表达式  
  32. /^\s*|\s*$/;  
  33. //匹配HTML标记的正则表达式  
  34. < (\S*?)[^>]*>.*?|< .*? />;  
//正整数
/^[0-9]*[1-9][0-9]*$/;
//负整数
/^-[0-9]*[1-9][0-9]*$/;
//正浮点数
/^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;   
//负浮点数
/^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;  
//浮点数
/^(-?\d+)(\.\d+)?$/;
//email地址
/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
//url地址
/^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$/;
//年/月/日(年-月-日、年.月.日)
/^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/;
//匹配中文字符
/[\u4e00-\u9fa5]/;
//匹配帐号是否合法(字母开头,允许5-10字节,允许字母数字下划线)
/^[a-zA-Z][a-zA-Z0-9_]{4,9}$/;
//匹配空白行的正则表达式
/\n\s*\r/;
//匹配中国邮政编码
/[1-9]\d{5}(?!\d)/;
//匹配身份证
/\d{15}|\d{18}/;
//匹配国内电话号码
/(\d{3}-|\d{4}-)?(\d{8}|\d{7})?/;
//匹配IP地址
/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/;
//匹配首尾空白字符的正则表达式
/^\s*|\s*$/;
//匹配HTML标记的正则表达式
< (\S*?)[^>]*>.*?|< .*? />;
63、原生JavaScript实现返回顶部的通用方法
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function backTop(btnId) {  
  2.     var btn = document.getElementById(btnId);  
  3.     var d = document.documentElement;  
  4.     var b = document.body;  
  5.     window.onscroll = set;  
  6.     btn.style.display = "none";  
  7.     btn.onclick = function() {  
  8.         btn.style.display = "none";  
  9.         window.onscroll = null;  
  10.         this.timer = setInterval(function() {  
  11.             d.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);  
  12.             b.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);  
  13.             if ((d.scrollTop + b.scrollTop) == 0) clearInterval(btn.timer, window.onscroll = set);  
  14.         },  
  15.         10);  
  16.     };  
  17.     function set() {  
  18.         btn.style.display = (d.scrollTop + b.scrollTop > 100) ? 'block'"none"  
  19.     }  
  20. };  
  21. backTop('goTop');  
function backTop(btnId) {
	var btn = document.getElementById(btnId);
	var d = document.documentElement;
	var b = document.body;
	window.onscroll = set;
	btn.style.display = "none";
	btn.onclick = function() {
		btn.style.display = "none";
		window.onscroll = null;
		this.timer = setInterval(function() {
			d.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);
			b.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);
			if ((d.scrollTop + b.scrollTop) == 0) clearInterval(btn.timer, window.onscroll = set);
		},
		10);
	};
	function set() {
		btn.style.display = (d.scrollTop + b.scrollTop > 100) ? 'block': "none"
	}
};
backTop('goTop');
64、原生JavaScript获得URL中GET参数值
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. // 用法:如果地址是 test.htm?t1=1&t2=2&t3=3, 那么能取得:GET["t1"], GET["t2"], GET["t3"]  
  2. function get_get(){   
  3.   querystr = window.location.href.split("?")  
  4.   if(querystr[1]){  
  5.     GETs = querystr[1].split("&")  
  6.     GET =new Array()  
  7.     for(i=0;i<GETs.length;i++){  
  8.       tmp_arr = GETs[i].split("=")  
  9.       key=tmp_arr[0]  
  10.       GET[key] = tmp_arr[1]  
  11.     }  
  12.   }  
  13.   return querystr[1];  
  14. }  
// 用法:如果地址是 test.htm?t1=1&t2=2&t3=3, 那么能取得:GET["t1"], GET["t2"], GET["t3"]
function get_get(){ 
  querystr = window.location.href.split("?")
  if(querystr[1]){
    GETs = querystr[1].split("&")
    GET =new Array()
    for(i=0;i<GETs.length;i++){
      tmp_arr = GETs[i].split("=")
      key=tmp_arr[0]
      GET[key] = tmp_arr[1]
    }
  }
  return querystr[1];
}
65、原生JavaScript实现全选通用方法
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function checkall(form, prefix, checkall) {  
  2.     var checkall = checkall ? checkall : 'chkall';  
  3.     for(var i = 0; i < form.elements.length; i++) {  
  4.         var e = form.elements[i];  
  5.         if(e.type=="checkbox"){  
  6.             e.checked = form.elements[checkall].checked;  
  7.         }  
  8.     }  
  9. }  
function checkall(form, prefix, checkall) {
	var checkall = checkall ? checkall : 'chkall';
	for(var i = 0; i < form.elements.length; i++) {
		var e = form.elements[i];
		if(e.type=="checkbox"){
			e.checked = form.elements[checkall].checked;
		}
	}
}
66、原生JavaScript实现全部取消选择通用方法
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function uncheckAll(form) {  
  2.     for (var i=0;i<form.elements.length;i++){  
  3.         var e = form.elements[i];  
  4.         if (e.name != 'chkall')  
  5.         e.checked=!e.checked;  
  6.     }  
  7. }  
function uncheckAll(form) {
	for (var i=0;i<form.elements.length;i++){
		var e = form.elements[i];
		if (e.name != 'chkall')
		e.checked=!e.checked;
	}
}
67、原生JavaScript实现打开一个窗体通用方法
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function openWindow(url,windowName,width,height){  
  2.     var x = parseInt(screen.width / 2.0) - (width / 2.0);   
  3.     var y = parseInt(screen.height / 2.0) - (height / 2.0);  
  4.     var isMSIE= (navigator.appName == "Microsoft Internet Explorer");  
  5.     if (isMSIE) {  
  6.         var p = "resizable=1,location=no,scrollbars=no,width=";  
  7.         p = p+width;  
  8.         p = p+",height=";  
  9.         p = p+height;  
  10.         p = p+",left=";  
  11.         p = p+x;  
  12.         p = p+",top=";  
  13.         p = p+y;  
  14.         retval = window.open(url, windowName, p);  
  15.     } else {  
  16.         var win = window.open(url, "ZyiisPopup""top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=yes,modal=yes,width=" + width + ",height=" + height + ",resizable=no" );  
  17.         eval("try { win.resizeTo(width, height); } catch(e) { }");  
  18.         win.focus();  
  19.     }  
  20. }  
function openWindow(url,windowName,width,height){
    var x = parseInt(screen.width / 2.0) - (width / 2.0); 
    var y = parseInt(screen.height / 2.0) - (height / 2.0);
    var isMSIE= (navigator.appName == "Microsoft Internet Explorer");
    if (isMSIE) {
    	var p = "resizable=1,location=no,scrollbars=no,width=";
    	p = p+width;
    	p = p+",height=";
    	p = p+height;
    	p = p+",left=";
    	p = p+x;
    	p = p+",top=";
    	p = p+y;
        retval = window.open(url, windowName, p);
    } else {
        var win = window.open(url, "ZyiisPopup", "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=yes,modal=yes,width=" + width + ",height=" + height + ",resizable=no" );
        eval("try { win.resizeTo(width, height); } catch(e) { }");
        win.focus();
    }
}
68、原生JavaScript判断是否为客户端设备
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function client(o){   
  2.        var b = navigator.userAgent.toLowerCase();     
  3.        var t = false;  
  4.        if (o == 'isOP'){  
  5.              t = b.indexOf('opera') > -1;  
  6.        }  
  7.        if (o == 'isIE'){  
  8.              t = b.indexOf('msie') > -1;  
  9.        }  
  10.        if (o == 'isFF'){  
  11.              t = b.indexOf('firefox') > -1;  
  12.        }  
  13.        return t;  
  14. }  
function client(o){	
       var b = navigator.userAgent.toLowerCase();   
	   var t = false;
	   if (o == 'isOP'){
			 t = b.indexOf('opera') > -1;
	   }
	   if (o == 'isIE'){
			 t = b.indexOf('msie') > -1;
	   }
	   if (o == 'isFF'){
			 t = b.indexOf('firefox') > -1;
	   }
       return t;
}
69、原生JavaScript获取单选按钮的值
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function get_radio_value(field){  
  2.     if(field&&field.length){      
  3.         for(var i=0;i<field.length;i++){       
  4.             if(field[i].checked){             
  5.                 return field[i].value;                                
  6.             }             
  7.         }         
  8.     }else {       
  9.         return ;                  
  10.     }     
  11. }  
function get_radio_value(field){
	if(field&&field.length){	
		for(var i=0;i<field.length;i++){		
			if(field[i].checked){			
				return field[i].value;								
			}			
		}		
	}else {		
		return ;				
	}	
}
70、原生JavaScript获取复选框的值
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function get_checkbox_value(field){   
  2.     if(field&&field.length){      
  3.         for(var i=0;i<field.length;i++){           
  4.             if(field[i].checked && !field[i].disabled){  
  5.                 return field[i].value;  
  6.             }  
  7.         }         
  8.     }else {  
  9.         return;  
  10.     }             
  11. }  
function get_checkbox_value(field){	
	if(field&&field.length){	
		for(var i=0;i<field.length;i++){			
			if(field[i].checked && !field[i].disabled){
				return field[i].value;
			}
		}		
	}else {
		return;
	}			
}

(71~80)验证篇这一篇文章主要是10个比较常用表单验证功能,包括了邮箱、危险字符、验证长度、验证网址、验证小数、整数、浮点数等常用的验证,有了这些代码片段,平时的表单验证也可以不需要jquery的验证插件了,希望可以帮到大家。。。
 71、原生JavaScript判断是否为邮箱
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isEmail(str){  
  2.     var re=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;   
  3.     if (re.test(str) != true) {  
  4.         return false;  
  5.     }else{  
  6.         return true;  
  7.     }     
  8. }  
function isEmail(str){
    var re=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/; 
	if (re.test(str) != true) {
		return false;
	}else{
		return true;
	}	
}
72、原生JavaScript判断是否有列表中的危险字符
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isValidReg(chars){  
  2.     var re=/<|>|\[|\]|\{|\}|『|』|※|○|●|◎|§|△|▲|☆|★|◇|◆|□|▼|㊣|﹋|⊕|⊙|〒|ㄅ|ㄆ|ㄇ|ㄈ|ㄉ|ㄊ|ㄋ|ㄌ|ㄍ|ㄎ|ㄏ|ㄐ|ㄑ|ㄒ|ㄓ|ㄔ|ㄕ|ㄖ|ㄗ|ㄘ|ㄙ|ㄚ|ㄛ|ㄜ|ㄝ|ㄞ|ㄟ|ㄢ|ㄣ|ㄤ|ㄥ|ㄦ|ㄧ|ㄨ|ㄩ|■|▄|▆|\*|@|#|\^|\\/;  
  3.     if (re.test( chars) == true) {  
  4.         return false;  
  5.     }else{  
  6.         return true;  
  7.     }     
  8. }  
function isValidReg(chars){
	var re=/<|>|\[|\]|\{|\}|『|』|※|○|●|◎|§|△|▲|☆|★|◇|◆|□|▼|㊣|﹋|⊕|⊙|〒|ㄅ|ㄆ|ㄇ|ㄈ|ㄉ|ㄊ|ㄋ|ㄌ|ㄍ|ㄎ|ㄏ|ㄐ|ㄑ|ㄒ|ㄓ|ㄔ|ㄕ|ㄖ|ㄗ|ㄘ|ㄙ|ㄚ|ㄛ|ㄜ|ㄝ|ㄞ|ㄟ|ㄢ|ㄣ|ㄤ|ㄥ|ㄦ|ㄧ|ㄨ|ㄩ|■|▄|▆|\*|@|#|\^|\\/;
	if (re.test( chars) == true) {
		return false;
	}else{
		return true;
	}	
}
73、原生JavaScript判断字符串是否大于规定的长度
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isValidLength(chars, len) {  
  2.     if (chars.length < len) {  
  3.         return false;  
  4.     }  
  5.     return true;  
  6. }  
function isValidLength(chars, len) {
	if (chars.length < len) {
		return false;
	}
	return true;
}
74、原生JavaScript判断字符串是为网址不区分大小写
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isValidURL( chars ) {  
  2.     var re=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(\S+\.\S+)$/;  
  3.     if (!isNULL(chars)) {  
  4.         chars = jsTrim(chars);  
  5.         if (chars.match(re) == null)  
  6.             return false;  
  7.         else  
  8.             return true;  
  9.     }  
  10.     return false;  
  11. }  
function isValidURL( chars ) {
	var re=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(\S+\.\S+)$/;
	if (!isNULL(chars)) {
		chars = jsTrim(chars);
		if (chars.match(re) == null)
			return false;
		else
			return true;
	}
	return false;
}
75、原生JavaScript判断字符串是否为小数
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isValidDecimal( chars ) {  
  2.     var re=/^\d*\.?\d{1,2}$/;  
  3.     if (chars.match(re) == null)  
  4.         return false;  
  5.     else  
  6.         return true;  
  7. }  
function isValidDecimal( chars ) {
	var re=/^\d*\.?\d{1,2}$/;
	if (chars.match(re) == null)
		return false;
	else
		return true;
}
76、原生JavaScript判断字符串是否为整数
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isNumber( chars ) {  
  2.     var re=/^\d*$/;  
  3.     if (chars.match(re) == null)  
  4.         return false;  
  5.     else  
  6.         return true;  
  7. }  
function isNumber( chars ) {
	var re=/^\d*$/;
	if (chars.match(re) == null)
		return false;
	else
		return true;
}
77、原生JavaScript判断字符串是否为浮点数
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isFloat( str ) {  
  2.     for(i=0;i<str.length;i++)  {  
  3.        if ((str.charAt(i)<"0" || str.charAt(i)>"9")&& str.charAt(i) != '.'){  
  4.             return false;  
  5.        }  
  6.     }  
  7.     return true;  
  8. }  
function isFloat( str ) {
	for(i=0;i<str.length;i++)  {
	   if ((str.charAt(i)<"0" || str.charAt(i)>"9")&& str.charAt(i) != '.'){
			return false;
	   }
	}
	return true;
}
78、原生JavaScript判断字符是否为A-Za-z英文字母
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isLetters( str ){  
  2.     var re=/^[A-Za-z]+$/;  
  3.     if (str.match(re) == null)  
  4.         return false;  
  5.     else  
  6.         return true;  
  7. }  
function isLetters( str ){
	var re=/^[A-Za-z]+$/;
	if (str.match(re) == null)
		return false;
	else
		return true;
}
79、原生JavaScript判断字符串是否邮政编码
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isValidPost( chars ) {  
  2.     var re=/^\d{6}$/;  
  3.     if (chars.match(re) == null)  
  4.         return false;  
  5.     else  
  6.         return true;  
  7. }  
function isValidPost( chars ) {
	var re=/^\d{6}$/;
	if (chars.match(re) == null)
		return false;
	else
		return true;
}
80、原生JavaScript判断字符是否空NULL

[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function isNULL( chars ) {  
  2.     if (chars == null)  
  3.         return true;  
  4.     if (jsTrim(chars).length==0)  
  5.         return true;  
  6.     return false;  
  7. }  
function isNULL( chars ) {
	if (chars == null)
		return true;
	if (jsTrim(chars).length==0)
		return true;
	return false;
}
81、原生JavaScript用正则表达式提取页面代码中所有网址
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. var aa = document.documentElement.outerHTML.match(/(url\(|src=|href=)[\"\']*([^\"\'\(\)\<\>\[\] ]+)[\"\'\)]*|(http:\/\/[\w\-\.]+[^\"\'\(\)\<\>\[\] ]+)/ig).join("\r\n").replace(/^(src=|href=|url\()[\"\']*|[\"\'\>\) ]*$/igm,"");  
  2. alert(aa)  
var aa = document.documentElement.outerHTML.match(/(url\(|src=|href=)[\"\']*([^\"\'\(\)\<\>\[\] ]+)[\"\'\)]*|(http:\/\/[\w\-\.]+[^\"\'\(\)\<\>\[\] ]+)/ig).join("\r\n").replace(/^(src=|href=|url\()[\"\']*|[\"\'\>\) ]*$/igm,"");
alert(aa)
82、原生JavaScript用正则表达式清除相同的数组(低效率)
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. Array.prototype.unique=function(){  
  2.     return this.reverse().join(",").match(/([^,]+)(?!.*\1)/ig).reverse();  
  3. }  
Array.prototype.unique=function(){
	return this.reverse().join(",").match(/([^,]+)(?!.*\1)/ig).reverse();
}
83、原生JavaScript用正则表达式清除相同的数组(高效率)
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. String.prototype.unique=function(){  
  2.     var x=this.split(/[\r\n]+/);  
  3.     var y='';  
  4.     for(var i=0;i<x.length;i++){  
  5.         if(!new RegExp("^"+x[i].replace(/([^\w])/ig,"\\$1")+"$","igm").test(y)){  
  6.             y+=x[i]+"\r\n"  
  7.         }  
  8.     }  
  9.     return y  
  10. }  
String.prototype.unique=function(){
	var x=this.split(/[\r\n]+/);
	var y='';
	for(var i=0;i<x.length;i++){
		if(!new RegExp("^"+x[i].replace(/([^\w])/ig,"\\$1")+"$","igm").test(y)){
			y+=x[i]+"\r\n"
		}
	}
	return y
}
84、原生JavaScript用正则表达式按字母排序,对每行进行数组排序
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function SetSort(){  
  2.     var text=K1.value.split(/[\r\n]/).sort().join("\r\n");//顺序  
  3.     var test=K1.value.split(/[\r\n]/).sort().reverse().join("\r\n");//反序  
  4.     K1.value=K1.value!=text?text:test;  
  5. }  
function SetSort(){
	var text=K1.value.split(/[\r\n]/).sort().join("\r\n");//顺序
	var test=K1.value.split(/[\r\n]/).sort().reverse().join("\r\n");//反序
	K1.value=K1.value!=text?text:test;
}
85、原生JavaScript字符串反序
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function IsReverse(text){  
  2.     return text.split('').reverse().join('');  
  3. }  
function IsReverse(text){
	return text.split('').reverse().join('');
}
86、原生JavaScript用正则表达式清除html代码中的脚本
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function clear_script(){  
  2.   K1.value=K1.value.replace(/<script.*?>[\s\S]*?<\/script>|\s+on[a-zA-Z]{3,16}\s?=\s?"[\s\S]*?"|\s+on[a-zA-Z]{3,16}\s?=\s?'[\s\S]*?'|\s+on[a-zA-Z]{3,16}\s?=[^ >]+/ig,"");  
  3. }  
function clear_script(){
  K1.value=K1.value.replace(/<script.*?>[\s\S]*?<\/script>|\s+on[a-zA-Z]{3,16}\s?=\s?"[\s\S]*?"|\s+on[a-zA-Z]{3,16}\s?=\s?'[\s\S]*?'|\s+on[a-zA-Z]{3,16}\s?=[^ >]+/ig,"");
}
87、原生JavaScript动态执行JavaScript脚本
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function javascript(){  
  2.     try{  
  3.       eval(K1.value);  
  4.     }catch(e){  
  5.         alert(e.message);  
  6.     }  
  7. }  
function javascript(){
	try{
	  eval(K1.value);
	}catch(e){
		alert(e.message);
	}
}
88、原生JavaScript动态执行VBScript脚本
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function vbscript(){  
  2.     try{  
  3.         var script=document.getElementById("K1").value;  
  4.         if(script.trim()=="")return;  
  5.         window.execScript('On Error Resume Next \n'+script+'\n If Err.Number<>0 Then \n MsgBox "请输入正确的VBScript脚本!",48,"脚本错误!" \n End If',"vbscript")  
  6.     }catch(e){  
  7.         alert(e.message);  
  8.     }  
  9. }  
function vbscript(){
	try{
		var script=document.getElementById("K1").value;
		if(script.trim()=="")return;
		window.execScript('On Error Resume Next \n'+script+'\n If Err.Number<>0 Then \n MsgBox "请输入正确的VBScript脚本!",48,"脚本错误!" \n End If',"vbscript")
	}catch(e){
		alert(e.message);
	}
}
89、原生JavaScript实现金额大写转换函数
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function transform(tranvalue) {  
  2.   try {  
  3.     var i = 1;  
  4.     var dw2 = new Array("""万""亿"); //大单位  
  5.     var dw1 = new Array("拾""佰""仟"); //小单位  
  6.     var dw = new Array("零""壹""贰""叁""肆""伍""陆""柒""捌""玖"); //整数部分用  
  7.     //以下是小写转换成大写显示在合计大写的文本框中       
  8.     //分离整数与小数  
  9.     var source = splits(tranvalue);  
  10.     var num = source[0];  
  11.     var dig = source[1];  
  12.     //转换整数部分  
  13.     var k1 = 0; //计小单位  
  14.     var k2 = 0; //计大单位  
  15.     var sum = 0;  
  16.     var str = "";  
  17.     var len = source[0].length; //整数的长度  
  18.     for (i = 1; i <= len; i++) {  
  19.       var n = source[0].charAt(len - i); //取得某个位数上的数字  
  20.       var bn = 0;  
  21.       if (len - i - 1 >= 0) {  
  22.         bn = source[0].charAt(len - i - 1); //取得某个位数前一位上的数字  
  23.       }  
  24.       sum = sum + Number(n);  
  25.       if (sum != 0) {  
  26.         str = dw[Number(n)].concat(str); //取得该数字对应的大写数字,并插入到str字符串的前面  
  27.         if (n == '0') sum = 0;  
  28.       }  
  29.       if (len - i - 1 >= 0) { //在数字范围内  
  30.         if (k1 != 3) { //加小单位  
  31.           if (bn != 0) {  
  32.             str = dw1[k1].concat(str);  
  33.           }  
  34.           k1++;  
  35.         } else { //不加小单位,加大单位  
  36.           k1 = 0;  
  37.           var temp = str.charAt(0);  
  38.           if (temp == "万" || temp == "亿"//若大单位前没有数字则舍去大单位  
  39.           str = str.substr(1, str.length - 1);  
  40.           str = dw2[k2].concat(str);  
  41.           sum = 0;  
  42.         }  
  43.       }  
  44.       if (k1 == 3) //小单位到千则大单位进一  
  45.       {  
  46.         k2++;  
  47.       }  
  48.     }  
  49.     //转换小数部分  
  50.     var strdig = "";  
  51.     if (dig != "") {  
  52.       var n = dig.charAt(0);  
  53.       if (n != 0) {  
  54.         strdig += dw[Number(n)] + "角"//加数字  
  55.       }  
  56.       var n = dig.charAt(1);  
  57.       if (n != 0) {  
  58.         strdig += dw[Number(n)] + "分"//加数字  
  59.       }  
  60.     }  
  61.     str += "元" + strdig;  
  62.   } catch(e) {  
  63.     return "0元";  
  64.   }  
  65.   return str;  
  66. }  
  67. //拆分整数与小数  
  68. function splits(tranvalue) {  
  69.   var value = new Array('''');  
  70.   temp = tranvalue.split(".");  
  71.   for (var i = 0; i < temp.length; i++) {  
  72.     value[i] = temp[i];  
  73.   }  
  74.   return value;  
  75. }  
function transform(tranvalue) {
  try {
    var i = 1;
    var dw2 = new Array("", "万", "亿"); //大单位
    var dw1 = new Array("拾", "佰", "仟"); //小单位
    var dw = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); //整数部分用
    //以下是小写转换成大写显示在合计大写的文本框中     
    //分离整数与小数
    var source = splits(tranvalue);
    var num = source[0];
    var dig = source[1];
    //转换整数部分
    var k1 = 0; //计小单位
    var k2 = 0; //计大单位
    var sum = 0;
    var str = "";
    var len = source[0].length; //整数的长度
    for (i = 1; i <= len; i++) {
      var n = source[0].charAt(len - i); //取得某个位数上的数字
      var bn = 0;
      if (len - i - 1 >= 0) {
        bn = source[0].charAt(len - i - 1); //取得某个位数前一位上的数字
      }
      sum = sum + Number(n);
      if (sum != 0) {
        str = dw[Number(n)].concat(str); //取得该数字对应的大写数字,并插入到str字符串的前面
        if (n == '0') sum = 0;
      }
      if (len - i - 1 >= 0) { //在数字范围内
        if (k1 != 3) { //加小单位
          if (bn != 0) {
            str = dw1[k1].concat(str);
          }
          k1++;
        } else { //不加小单位,加大单位
          k1 = 0;
          var temp = str.charAt(0);
          if (temp == "万" || temp == "亿") //若大单位前没有数字则舍去大单位
          str = str.substr(1, str.length - 1);
          str = dw2[k2].concat(str);
          sum = 0;
        }
      }
      if (k1 == 3) //小单位到千则大单位进一
      {
        k2++;
      }
    }
    //转换小数部分
    var strdig = "";
    if (dig != "") {
      var n = dig.charAt(0);
      if (n != 0) {
        strdig += dw[Number(n)] + "角"; //加数字
      }
      var n = dig.charAt(1);
      if (n != 0) {
        strdig += dw[Number(n)] + "分"; //加数字
      }
    }
    str += "元" + strdig;
  } catch(e) {
    return "0元";
  }
  return str;
}
//拆分整数与小数
function splits(tranvalue) {
  var value = new Array('', '');
  temp = tranvalue.split(".");
  for (var i = 0; i < temp.length; i++) {
    value[i] = temp[i];
  }
  return value;
}
90、原生JavaScript常用的正则表达式大收集
  1. 匹配中文字符的正则表达式: [\u4e00-\u9fa5]   
  2. 匹配双字节字符(包括汉字在内):[^\x00-\xff]   
  3. 匹配空行的正则表达式:\n[\s| ]*\r   
  4. 匹配 HTML 标记的正则表达式:<(.*)>.*<\/\1>|<(.*) \/>  
  5. 匹配首尾空格的正则表达式:(^\s*)|(\s*$)   
  6. 匹配 IP 地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g  
  7. 匹配 Email 地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*  
  8. 匹配网址 URL 的正则表达式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?  
  9. sql 语句:^(select|drop|delete|create|update|insert).*$   
  10. 非负整数:^\d+$   
  11. 正整数:^[0-9]*[1-9][0-9]*$   
  12. 非正整数:^((-\d+)|(0+))$   
  13. 负整数:^-[0-9]*[1-9][0-9]*$   
  14. 整数:^-?\d+$   
  15. 非负浮点数:^\d+(\.\d+)?$   
  16. 正浮点数:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$   
  17. 非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$   
  18. 英文字符串:^[A-Za-z]+$   
  19. 英文大写串:^[A-Z]+$   
  20. 英文小写串:^[a-z]+$   
  21. 英文字符数字串:^[A-Za-z0-9]+$   
  22. 英数字加下划线串:^\w+$   
  23. E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$   
  24. URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$ 或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$   
  25. 邮政编码:^[1-9]\d{5}$   
  26. 电话号码:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$   
  27. 手机号码:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$   
  28. 双字节字符(包括汉字在内):^\x00-\xff   
  29. 匹配首尾空格:(^\s*)|(\s*$)  
  30. 匹配 HTML 标记:<(.*)>.*<\/\1>|<(.*) \/>   
  31. 匹配空行:\n[\s| ]*\r   
  32. 提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?   
  33. 提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*   
  34. 提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?   
  35. 提取信息中的 IP 地址:(\d+)\.(\d+)\.(\d+)\.(\d+)   
  36. 提取信息中的中国手机号码:(86)*0*13\d{9}   
  37. 提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}   
  38. 提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}   
  39. 提取信息中的中国邮政编码:[1-9]{1}(\d+){5}   
  40. 提取信息中的浮点数(即小数):(-?\d*)\.?\d+   
  41. 提取信息中的任何数字 :(-?\d*)(\.\d+)?   
  42. IP:(\d+)\.(\d+)\.(\d+)\.(\d+)   
  43. 电话区号:^0\d{2,3}$  
  44. 腾讯 QQ 号:^[1-9]*[1-9][0-9]*$   
  45. 帐号(字母开头,允许 5-16 字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$   
  46. 中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$  
匹配中文字符的正则表达式: [\u4e00-\u9fa5] 
匹配双字节字符(包括汉字在内):[^\x00-\xff] 
匹配空行的正则表达式:\n[\s| ]*\r 
匹配 HTML 标记的正则表达式:<(.*)>.*<\/\1>|<(.*) \/>
匹配首尾空格的正则表达式:(^\s*)|(\s*$) 
匹配 IP 地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g
匹配 Email 地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址 URL 的正则表达式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
sql 语句:^(select|drop|delete|create|update|insert).*$ 
非负整数:^\d+$ 
正整数:^[0-9]*[1-9][0-9]*$ 
非正整数:^((-\d+)|(0+))$ 
负整数:^-[0-9]*[1-9][0-9]*$ 
整数:^-?\d+$ 
非负浮点数:^\d+(\.\d+)?$ 
正浮点数:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 
非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$ 
英文字符串:^[A-Za-z]+$ 
英文大写串:^[A-Z]+$ 
英文小写串:^[a-z]+$ 
英文字符数字串:^[A-Za-z0-9]+$ 
英数字加下划线串:^\w+$ 
E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ 
URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$ 或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$ 
邮政编码:^[1-9]\d{5}$ 
电话号码:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$ 
手机号码:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$ 
双字节字符(包括汉字在内):^\x00-\xff 
匹配首尾空格:(^\s*)|(\s*$)
匹配 HTML 标记:<(.*)>.*<\/\1>|<(.*) \/> 
匹配空行:\n[\s| ]*\r 
提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)? 
提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 
提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)? 
提取信息中的 IP 地址:(\d+)\.(\d+)\.(\d+)\.(\d+) 
提取信息中的中国手机号码:(86)*0*13\d{9} 
提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8} 
提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14} 
提取信息中的中国邮政编码:[1-9]{1}(\d+){5} 
提取信息中的浮点数(即小数):(-?\d*)\.?\d+ 
提取信息中的任何数字 :(-?\d*)(\.\d+)? 
IP:(\d+)\.(\d+)\.(\d+)\.(\d+) 
电话区号:^0\d{2,3}$
腾讯 QQ 号:^[1-9]*[1-9][0-9]*$ 
帐号(字母开头,允许 5-16 字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 
中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$
91、原生JavaScript实现窗体改变事件resize的操作(兼容所以的浏览器)
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. (function(){  
  2.     var fn = function(){  
  3.         var w = document.documentElement ? document.documentElement.clientWidth : document.body.clientWidth  
  4.             ,r = 1255  
  5.             ,b = Element.extend(document.body)  
  6.             ,classname = b.className;  
  7.         if(w < r){  
  8.             //当窗体的宽度小于1255的时候执行相应的操作  
  9.         }else{  
  10.             //当窗体的宽度大于1255的时候执行相应的操作  
  11.         }  
  12.     }  
  13.     if(window.addEventListener){  
  14.         window.addEventListener('resize'function(){ fn(); });  
  15.     }else if(window.attachEvent){  
  16.         window.attachEvent('onresize'function(){ fn(); });  
  17.     }  
  18.     fn();  
  19. })();  
(function(){
	var fn = function(){
		var w = document.documentElement ? document.documentElement.clientWidth : document.body.clientWidth
			,r = 1255
			,b = Element.extend(document.body)
			,classname = b.className;
		if(w < r){
			//当窗体的宽度小于1255的时候执行相应的操作
		}else{
			//当窗体的宽度大于1255的时候执行相应的操作
		}
	}
	if(window.addEventListener){
		window.addEventListener('resize', function(){ fn(); });
	}else if(window.attachEvent){
		window.attachEvent('onresize', function(){ fn(); });
	}
	fn();
})();
92、原生JavaScript用正则清除空格分左右
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function ltrim(s){ return s.replace( /^(\s*| *)/, ""); }   
  2. function rtrim(s){ return s.replace( /(\s*| *)$/, ""); }   
  3. function trim(s){ return ltrim(rtrim(s));}   
function ltrim(s){ return s.replace( /^(\s*| *)/, ""); } 
function rtrim(s){ return s.replace( /(\s*| *)$/, ""); } 
function trim(s){ return ltrim(rtrim(s));} 
93、原生JavaScript判断变量是否空值
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. /** 
  2.  * 判断变量是否空值 
  3.  * undefined, null, '', false, 0, [], {} 均返回true,否则返回false 
  4.  */  
  5. function empty(v){  
  6.     switch (typeof v){  
  7.         case 'undefined' : return true;  
  8.         case 'string'    : if(trim(v).length == 0) return truebreak;  
  9.         case 'boolean'   : if(!v) return truebreak;  
  10.         case 'number'    : if(0 === v) return truebreak;  
  11.         case 'object'    :   
  12.             if(null === v) return true;  
  13.             if(undefined !== v.length && v.length==0) return true;  
  14.             for(var k in v){return false;} return true;  
  15.             break;  
  16.     }  
  17.     return false;  
  18. }  
/**
 * 判断变量是否空值
 * undefined, null, '', false, 0, [], {} 均返回true,否则返回false
 */
function empty(v){
    switch (typeof v){
        case 'undefined' : return true;
        case 'string'    : if(trim(v).length == 0) return true; break;
        case 'boolean'   : if(!v) return true; break;
        case 'number'    : if(0 === v) return true; break;
        case 'object'    : 
            if(null === v) return true;
            if(undefined !== v.length && v.length==0) return true;
            for(var k in v){return false;} return true;
            break;
    }
    return false;
}
94、原生JavaScript实现base64解码
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function base64_decode(data){  
  2.     var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";  
  3.     var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,ac = 0,dec = "",tmp_arr = [];  
  4.     if (!data) { return data; }  
  5.     data += '';  
  6.     do {   
  7.         h1 = b64.indexOf(data.charAt(i++));  
  8.         h2 = b64.indexOf(data.charAt(i++));  
  9.         h3 = b64.indexOf(data.charAt(i++));  
  10.         h4 = b64.indexOf(data.charAt(i++));  
  11.         bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;  
  12.         o1 = bits >> 16 & 0xff;  
  13.         o2 = bits >> 8 & 0xff;  
  14.         o3 = bits & 0xff;  
  15.         if (h3 == 64) {  
  16.             tmp_arr[ac++] = String.fromCharCode(o1);  
  17.         } else if (h4 == 64) {  
  18.             tmp_arr[ac++] = String.fromCharCode(o1, o2);  
  19.         } else {  
  20.             tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);  
  21.         }  
  22.     } while (i < data.length);  
  23.     dec = tmp_arr.join('');  
  24.     dec = utf8_decode(dec);  
  25.     return dec;  
  26. }  
function base64_decode(data){
	var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
	var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,ac = 0,dec = "",tmp_arr = [];
	if (!data) { return data; }
	data += '';
	do { 
		h1 = b64.indexOf(data.charAt(i++));
		h2 = b64.indexOf(data.charAt(i++));
		h3 = b64.indexOf(data.charAt(i++));
		h4 = b64.indexOf(data.charAt(i++));
		bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;
		o1 = bits >> 16 & 0xff;
		o2 = bits >> 8 & 0xff;
		o3 = bits & 0xff;
		if (h3 == 64) {
			tmp_arr[ac++] = String.fromCharCode(o1);
		} else if (h4 == 64) {
			tmp_arr[ac++] = String.fromCharCode(o1, o2);
		} else {
			tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);
		}
	} while (i < data.length);
	dec = tmp_arr.join('');
	dec = utf8_decode(dec);
	return dec;
}
95、原生JavaScript实现utf8解码
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function utf8_decode(str_data){  
  2.     var tmp_arr = [],i = 0,ac = 0,c1 = 0,c2 = 0,c3 = 0;str_data += '';  
  3.     while (i < str_data.length) {  
  4.         c1 = str_data.charCodeAt(i);  
  5.         if (c1 < 128) {  
  6.             tmp_arr[ac++] = String.fromCharCode(c1);  
  7.             i++;  
  8.         } else if (c1 > 191 && c1 < 224) {         
  9.             c2 = str_data.charCodeAt(i + 1);  
  10.             tmp_arr[ac++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));  
  11.             i += 2;  
  12.         } else {  
  13.             c2 = str_data.charCodeAt(i + 1);  
  14.             c3 = str_data.charCodeAt(i + 2);  
  15.             tmp_arr[ac++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));  
  16.             i += 3;  
  17.         }  
  18.     }   
  19.     return tmp_arr.join('');  
  20. }  
function utf8_decode(str_data){
	var tmp_arr = [],i = 0,ac = 0,c1 = 0,c2 = 0,c3 = 0;str_data += '';
	while (i < str_data.length) {
		c1 = str_data.charCodeAt(i);
		if (c1 < 128) {
			tmp_arr[ac++] = String.fromCharCode(c1);
			i++;
		} else if (c1 > 191 && c1 < 224) {       
			c2 = str_data.charCodeAt(i + 1);
			tmp_arr[ac++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
			i += 2;
		} else {
			c2 = str_data.charCodeAt(i + 1);
			c3 = str_data.charCodeAt(i + 2);
			tmp_arr[ac++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
			i += 3;
		}
	} 
	return tmp_arr.join('');
}
96、原生JavaScript获取窗体可见范围的宽与高
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function getViewSize(){  
  2.     var de=document.documentElement;  
  3.     var db=document.body;  
  4.     var viewW=de.clientWidth==0 ?  db.clientWidth : de.clientWidth;  
  5.     var viewH=de.clientHeight==0 ?  db.clientHeight : de.clientHeight;  
  6.     return Array(viewW ,viewH);  
  7. }  
function getViewSize(){
	var de=document.documentElement;
	var db=document.body;
	var viewW=de.clientWidth==0 ?  db.clientWidth : de.clientWidth;
	var viewH=de.clientHeight==0 ?  db.clientHeight : de.clientHeight;
	return Array(viewW ,viewH);
}
97、原生JavaScript判断IE版本号(既简洁、又向后兼容!)
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. var _IE = (function(){  
  2.     var v = 3, div = document.createElement('div'), all = div.getElementsByTagName('i');  
  3.     while (  
  4.         div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',  
  5.         all[0]  
  6.     );  
  7.     return v > 4 ? v : false ;  
  8. }());  
var _IE = (function(){
    var v = 3, div = document.createElement('div'), all = div.getElementsByTagName('i');
    while (
        div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
        all[0]
    );
    return v > 4 ? v : false ;
}());
98、原生JavaScript获取浏览器版本号
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function browserVersion(types) {  
  2.     var other = 1;  
  3.     for (i in types) {  
  4.         var v = types[i] ? types[i] : i;  
  5.         if (USERAGENT.indexOf(v) != -1) {  
  6.             var re = new RegExp(v + '(\\/|\\s|:)([\\d\\.]+)''ig');  
  7.             var matches = re.exec(USERAGENT);  
  8.             var ver = matches != null ? matches[2] : 0;  
  9.             other = ver !== 0 && v != 'mozilla' ? 0 : other;  
  10.         } else {  
  11.             var ver = 0;  
  12.         }  
  13.         eval('BROWSER.' + i + '= ver');  
  14.     }  
  15.     BROWSER.other = other;  
  16. }  
function browserVersion(types) {
    var other = 1;
    for (i in types) {
        var v = types[i] ? types[i] : i;
        if (USERAGENT.indexOf(v) != -1) {
            var re = new RegExp(v + '(\\/|\\s|:)([\\d\\.]+)', 'ig');
            var matches = re.exec(USERAGENT);
            var ver = matches != null ? matches[2] : 0;
            other = ver !== 0 && v != 'mozilla' ? 0 : other;
        } else {
            var ver = 0;
        }
        eval('BROWSER.' + i + '= ver');
    }
    BROWSER.other = other;
}
99、原生JavaScript半角转换为全角函数
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function ToDBC(str){  
  2.   var result = '';  
  3.   for(var i=0; i < str.length; i++){  
  4.     code = str.charCodeAt(i);  
  5.     if(code >= 33 && code <= 126){  
  6.       result += String.fromCharCode(str.charCodeAt(i) + 65248);  
  7.     }else if (code == 32){  
  8.       result += String.fromCharCode(str.charCodeAt(i) + 12288 - 32);  
  9.     }else{  
  10.       result += str.charAt(i);  
  11.     }  
  12.   }  
  13.  return result;  
  14. }  
function ToDBC(str){
  var result = '';
  for(var i=0; i < str.length; i++){
    code = str.charCodeAt(i);
    if(code >= 33 && code <= 126){
      result += String.fromCharCode(str.charCodeAt(i) + 65248);
    }else if (code == 32){
      result += String.fromCharCode(str.charCodeAt(i) + 12288 - 32);
    }else{
      result += str.charAt(i);
    }
  }
 return result;
}
100、原生JavaScript全角转换为半角函数 
[javascript] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. function ToCDB(str){  
  2.   var result = '';  
  3.   for(var i=0; i < str.length; i++){  
  4.     code = str.charCodeAt(i);  
  5.     if(code >= 65281 && code <= 65374){  
  6.       result += String.fromCharCode(str.charCodeAt(i) - 65248);  
  7.     }else if (code == 12288){  
  8.       result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32);  
  9.     }else{  
  10.       result += str.charAt(i);  
  11.     }  
  12.   }  
  13.  return result;  
  14. }  
function ToCDB(str){
  var result = '';
  for(var i=0; i < str.length; i++){
    code = str.charCodeAt(i);
    if(code >= 65281 && code <= 65374){
      result += String.fromCharCode(str.charCodeAt(i) - 65248);
    }else if (code == 12288){
      result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32);
    }else{
      result += str.charAt(i);
    }
  }
 return result;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值