javascript 腳本收集

原创 2013年12月04日 20:29:42

關閉瀏覽器提示

window.onbeforeunload = function (e) { 
	if(isCloseWin) return e.returnValue = "Note: You didn't save the data. Determined to leave?";
}


解決indexof兼容問題

//解决ie不兼容indexOf
		if(!Array.indexOf){
			Array.prototype.indexOf = function(obj){
				for(var i=0; i<this.length; i++){
					if(this[i]==obj){
						return i;
					}
				}
				return -1;
			} 
		} 


0.加載js和css

function includeLinkStyle(url) {
	var link = document.createElement("link");
	link.rel = "stylesheet";
	link.type = "text/css";
	link.href = url;
	document.getElementsByTagName("head")[0].appendChild(link);
}
function includeScriptFile(url){
	var script= document.createElement("script");
	script.src=url;
	document.getElementsByTagName("head")[0].appendChild(script);
}
includeLinkStyle("css.css");
includeLinkStyle("animate.css");


1. 匹配英文名

str = str.replace(/(^\s*)|(\s*$)/g,"");//去掉首尾空格
			//字符头尾是字母,中间由空格和字母组成,中间可以有多个空格
			if(/^[A-Za-z][A-Za-z\s]*[A-Za-z]$/.test(str)){
				str = str.replace(/\s+/g," ");//将中间无论多少空格替换成一个
}


2. 發郵件

html:

<a href="#" id="emailTopic1" onclick="return sendEmail(this,{to:['xxx@xx.com','xxx@xx.com'],cc:['xxx@xx.com'],bcc:['xxx@xxx'],subject:'小夥伴們的通行證都已經拿到手了',body:'email subject test!!!! Oh, Yeah! 小夥伴們的通行證都已經拿到手了. BTW, 中文有木有問題?'});">sent email</a>

js:

function sendEmail(ele,o){
	if(arguments.length==2 && arguments[1] instanceof Object){
		var emailUrl='mailto:'+encodeURIComponent(o.to ? o.to.join(';') : ' ')+'&cc='+encodeURIComponent(o.cc ? o.cc.join(';') : ' ')+'&subject='+encodeURIComponent(o.subject ? o.subject : '')+'&bcc='+encodeURIComponent(o.bcc ? o.bcc.join(';') : ' ')+'&body='+encodeURIComponent(o.body ? o.body : '');
		ele.href=emailUrl;
		//for ie
		try{
			if (new ActiveXObject("Outlook.Application")) {
				return true;
			} else {
				alert("因為郵件客戶端沒有正確安裝,所以無法執行該操作!");
				return false;
			}
		} catch(e){}
		return true;//for not ie
	} else {
		alert('參數錯誤,參數(dom object,json object)!');	
		return false;
	}
}





3. 處理多選和單選

js代碼:

function selectCheckBoxAll(name) { 
	var el = document.getElementsByTagName('input'); 
	var len = el.length; 
	for(var i=0; i<len; i++) { 
		if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) { 
			el[i].checked = true; 
		} 
	} 
} 
function clearCheckBoxAll(name) { 
	var el = document.getElementsByTagName('input'); 
	var len = el.length; 
	for(var i=0; i<len; i++) { 
		if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) { 
			el[i].checked = false; 
		} 
	} 
} 
function isSelectCheckBox(name) { 
	var el = document.getElementsByTagName('input'); 
	var len = el.length; 
	for(var i=0; i<len; i++) { 
		if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) { 
			if(el[i].checked == true) return true; 
		} 
	}
	return false; 
}   
function getSelectRadioValue(name) { 
	var el = document.getElementsByTagName('input'); 
	var len = el.length; 
	for(var i=0; i<len; i++) { 
		if((el[i].type.toLowerCase()=="radio") && (el[i].name==name)) { 
			if(el[i].checked == true) return el[i].value; 
		} 
	}
	return false;
} 

html代碼:

<input type="checkbox" name="cb[]" value="0" />
<input type="checkbox" name="cb[]" value="1" />
<script>
clearCheckBoxAll('approval[]');
</script>

4. 其他未規類

/*
1.Trim(str)--去除字符串两边的空格
2.XMLEncode(str)--对字符串进行XML编码
3.IsEmpty(obj,str)--验证输入框是否为空,str为字段名
4.IsInt(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)功能:判断是否为整数、正整数、负整数、正整数+0、负整数+0
5.IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)功能:判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0
6.IsEnLetter(string,string):测试字符串,大小写(UL,U,L or ul,u,l)*/

/*
Trim(string):去除字符串两边的空格
LTrim(string):去除左边的空格
*/
function LTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);   
    if (whitespace.indexOf(s.charAt(0)) != -1)
    {
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
        {
            j++;
        }
        s = s.substring(j, i);
    }
    return s;
}

/*
RTrim(string):去除右边的空格
*/
function RTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
    {
        var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
        {
            i--;
        }
        s = s.substring(0, i+1);
    }
    return s;
}


/*
Trim(string):去除前后空格
*/
function Trim(str)
{
    return RTrim(LTrim(str));
}

/*
XMLEncode(string):对字符串进行XML编码
*/
function XMLEncode(str)
{
	str=Trim(str);
	str=str.replace("&","&");
	str=str.replace("<","<");
	str=str.replace(">",">");
	str=str.replace("'","'");
	str=str.replace("\"",""");
	return str;
}

/*
验证类函数
*/
function IsEmpty(obj,str)
{
	if(Trim(str)==""||(str==null)) str="字段";
    //obj=document.getElementsByName(obj).item(0);
    if(Trim(obj.value)=="")
    {
        alert(str+"不能为空。");        
        if(obj.disabled==false && obj.readOnly==false)
        {
            obj.focus();
        }
    }
}

/*
IsInt(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
功能:判断是否为整数、正整数、负整数、正整数+0、负整数+0
*/
function IsInt(objStr,sign,zero)
{
    var reg;    
    var bolzero;    
    if(Trim(objStr)=="")
    {
        return false;
    }
    else
    {
        objStr=objStr.toString();
    }    
    if((sign==null)||(Trim(sign)==""))
    {
        sign="+-";
    }
    if((zero==null)||(Trim(zero)==""))
    {
        bolzero=false;
    }
    else
    {
        zero=zero.toString();
        if(zero=="0")
        {
            bolzero=true;
        }
        else
        {
            alert("检查是否包含0参数,只可为(空、0)");
        }
    }  
    switch(sign)
    {
        case "+-":
            //整数
            reg=/(^-?|^\+?)\d+$/;            
            break;
        case "+": 
            if(!bolzero)           
            {
                //正整数
                reg=/^\+?[0-9]*[1-9][0-9]*$/;
            }
            else
            {
                //正整数+0
                //reg=/^\+?\d+$/;
                reg=/^\+?[0-9]*[0-9][0-9]*$/;
            }
            break;
        case "-":
            if(!bolzero)
            {
                //负整数
                reg=/^-[0-9]*[1-9][0-9]*$/;
            }
            else
            {
                //负整数+0
                //reg=/^-\d+$/;
                reg=/^-[0-9]*[0-9][0-9]*$/;
            }            
            break;
        default:
            alert("检查符号参数,只可为(空、+、-)");
            return false;
            break;
    }   
    var r=objStr.match(reg);
    if(r==null)
    {
        return false;
    }
    else
    {        
        return true;     
    }
}

/*
IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
功能:判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0
*/
function IsFloat(objStr,sign,zero)
{
    var reg;    
    var bolzero;    
    if(Trim(objStr)=="")
    {
        return false;
    }
    else
    {
        objStr=objStr.toString();
    }       
    if((sign==null)||(Trim(sign)==""))
    {
        sign="+-";
    }    
    if((zero==null)||(Trim(zero)==""))
    {
        bolzero=false;
    }
    else
    {
        zero=zero.toString();
        if(zero=="0")
        {
            bolzero=true;
        }
        else
        {
            alert("检查是否包含0参数,只可为(空、0)");
        }
    }
    switch(sign)
    {
        case "+-":
            //浮点数
            reg=/^((-?|\+?)\d+)(\.\d+)?$/;
            break;
        case "+": 
            if(!bolzero)           
            {
                //正浮点数
                reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }
            else
            {
                //正浮点数+0
                reg=/^\+?\d+(\.\d+)?$/;
            }
            break;
        case "-":
            if(!bolzero)
            {
                //负浮点数
                reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }
            else
            {
                //负浮点数+0
                reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
            }            
            break;
        default:
            alert("检查符号参数,只可为(空、+、-)");
            return false;
            break;
    }
    var r=objStr.match(reg);
    if(r==null)
    {
        return false;
    }
    else
    {        
        return true;     
    }
}

/*
IsEnLetter(string,string):测试字符串,大小写(UL,U,L or ul,u,l)
*/
function IsEnLetter(objStr,size)
{
    var reg;
    if(Trim(objStr)=="")
    {
        return false;
    }
    else
    {
        objStr=objStr.toString();
    }    
    if((size==null)||(Trim(size)==""))
    {
        size="UL";
    }
    else
    {
        size=size.toUpperCase();
    }
    switch(size)
    {
        case "UL":
            //大小写
            reg=/^[A-Za-z]+$/;
            break;
        case "U": 
            //大写
            reg=/^[A-Z]+$/;
            break;
        case "L":
            //小写
            reg=/^[a-z]+$/;
            break;
        default:
            alert("检查大小写参数,只可为(空、UL、U、L)");
            return false;
            break;
    }
    var r=objStr.match(reg);
    if(r==null)
    {
        return false;
    }
    else
    {        
        return true;     
    }
}

5. Ctrl + Enter

//Ctrl+Enter 发布
function ctrlEnter(event, btnId, onlyEnter) {
	if(isUndefined(onlyEnter)) onlyEnter = 0;
	if((event.ctrlKey || onlyEnter) && event.keyCode == 13) {
		$$(btnId).click();
		document.getElementById(
		return false;
	}
	return true;
}

//基於jquery
//批量替换超链接的#号,防止页面跳动
function a_void(){
	$("a").each(function(index, element) {
        if ($(this).attr("href")=="#"){
			$(this).attr('href','javascript:void(0);');
		}
    });	
}
//滚动到一定距离,出现返回顶部按钮,参数是按钮元素
function sroll_top(selector){
	$(window).bind("scroll",function(){
		if( $(document).scrollTop() < $(window).height() *1.5 ) {
		jQuery(selector).hide();
		}else if($(document).scrollTop() > $(window).height() *1.5){
		 jQuery(selector).show();
		}
	});
}
/**增加到收藏夹,参数sURL地址,sTitle名称***/
function AddFavorite(sURL, sTitle)
{
    try
    {
        window.external.addFavorite(sURL, sTitle);
    }
    catch (e)
    {
        try
        {
            window.sidebar.addPanel(sTitle, sURL, "");
        }
        catch (e)
        {
            alert("加入收藏失败,请使用Ctrl+D进行添加");
        }
    }
}

/***
*base64解碼,返回:字符串
**/
function decode_base64(s) {
	var e = {}, i, k, v = [], r = '', w = String.fromCharCode;
	var n = [[65, 91], [97, 123], [48, 58], [43, 44], [47, 48]];
	for (z in n) {
		for (i = n[z][0]; i < n[z][1]; i++) {
			v.push(w(i));
		}
	}
	for (i = 0; i < 64; i++) {
		e[v[i]] = i;
	}
	for (i = 0; i < s.length; i += 72) {
		var b = 0, c, x, l = 0, o = s.substring(i, i + 72);
		for (x = 0; x < o.length; x++) {
			c = e[o.charAt(x)];
			b = (b << 6) + c;
			l += 6;
			while (l >= 8) {
				r += w((b >>> (l -= 8)) % 256);
			}
		}
	}
	return r;
}




相关文章推荐

javascript脚本收集

  • 2014年03月25日 15:23
  • 80KB
  • 下载

JavaScript之表单基础知识(表单脚本)

用JavaScript来验证表单

JavaScript脚本大全

  • 2013年08月24日 16:56
  • 388KB
  • 下载

Cocos2d-x Lua/Javascript脚本代码加密实现例子【转】

http://www.111cn.net/sj/iOS/75513.htm 下文为各位介绍一个Cocos2d-x Lua/Javascript脚本代码加密实现例子,有需要的朋友可进入参考。 ...

画点动画的时钟javascript脚本

  • 2016年08月16日 19:50
  • 1KB
  • 下载

javascript原生脚本实现幻灯片效果

  • 2014年07月13日 16:39
  • 318KB
  • 下载

JavaScript脚本实现单条微博自动重复转发

本博客通过浏览器自带控制台执行简单的JS脚本实现微博转发。菜鸟水平,仅供参考,若有雷同,请一笑置过。...

内存javascript脚本

  • 2011年12月14日 11:33
  • 20KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript 腳本收集
举报原因:
原因补充:

(最多只允许输入30个字)