`

javascript函数收藏

阅读更多
// 对Date的扩展,将 Date 转化为指定格式的String   
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,   
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)   
// 例子:   
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423   
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18  
Date.prototype.Format = function(fmt)   
{ //author: meizz   
  var o = {   
    "M+" : this.getMonth()+1,                 //月份   
    "d+" : this.getDate(),                    //日   
    "h+" : this.getHours(),                   //小时   
    "m+" : this.getMinutes(),                 //分   
    "s+" : this.getSeconds(),                 //秒   
    "q+" : Math.floor((this.getMonth()+3)/3), //季度   
    "S"  : this.getMilliseconds()             //毫秒   
  };   
  if(/(y+)/.test(fmt))   
    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
  for(var k in o)   
    if(new RegExp("("+ k +")").test(fmt))   
  fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));   
  return fmt;   
}  
var time1 = new Date().format("yyyy-MM-dd HH:mm:ss");     
  
var time2 = new Date().format("yyyy-MM-dd");



//判断手机号码
 function validatemobile(mobile)
    {
        if(mobile.length==0)
        {
           alert('请输入手机号码!');
           document.form1.mobile.focus();
           return false;
        }    
        if(mobile.length!=11)
        {
            alert('请输入有效的手机号码!');
            document.form1.mobile.focus();
            return false;
        }
        
        var myreg = /^(((13[0-9]{1})|159|153)+\d{8})$/;
        if(!myreg.test(mobile))
        {
            alert('请输入有效的手机号码!');
            document.form1.mobile.focus();
            return false;
        }
    }


//判断是否是数字
function isNum(num){
	var regu = "^[0-9]*$";
	var re   = new RegExp(regu);
	if (num.search(re) != -1){  
        return true;  
	}
    else{
        return false;
    }  
}



//根据 Radio 名字取 Radio的值
	function getRadioValue(name){
		for(var i=1;i<=2;i++){  
			var radioXElement = document.getElementsByName(name);  
		    for(var j=0;j<radioXElement.length;j++){  
		        if(radioXElement[j].checked==true){  
		       	 var sex = radioXElement[j].value; 
		       	 return sex; 
		        }  
		    }  
		} 
		 
	}


//Ctrl+Enter触发事件
function isKeyTrigger(e,keyCode){
	var argc = isKeyTrigger.arguments.length;
    var bCtrl = false;
    if(argc > 2){
        bCtrl = argv[2];
    }
    var bAlt = false;
    if(argc > 3){
        bAlt = argv[3];
    }

    var nav4 = window.Event ? true : false;

    if(typeof e == 'undefined') {
        e = event;
    }

    if( bCtrl && 
        !((typeof e.ctrlKey != 'undefined') ? 
            e.ctrlKey : e.modifiers & Event.CONTROL_MASK > 0)){
        return false;
    }
    if( bAlt && 
        !((typeof e.altKey != 'undefined') ? 
            e.altKey : e.modifiers & Event.ALT_MASK > 0)){
        return false;
    }
    var whichCode = 0;
    if (nav4) whichCode = e.which;
    else if (e.type == "keypress" || e.type == "keydown")
        whichCode = e.keyCode;
    else whichCode = e.button;

    return (whichCode == keyCode);
}

function ctrlEnter(e){
    var ie =navigator.appName=="Microsoft Internet Explorer"?true:false; 
    if(ie){
        if(event.ctrlKey && window.event.keyCode==13){sendSub();}
    }else{
        if(isKeyTrigger(e,13,true)){sendSub();}
    }
}
//在页面中应用,eg. <textarea id="msg" style="width:100%;height:250px" onkeyup="javascript:return ctrlEnter(event);"></textarea>




//JavaScript执行字符串,即把字符串当代码执行,如下的结果为5
eval("2 + 3");

string.replace(/\s*<\?/g, "<?");//全文替代字符串中的<?准确地替代为 <?


/**
如果想加载完页面后就立即加载javascript函数就可以直接用下面的函数
 addLoadEvent(函数名)
*/
function addLoadEvent(func){
  var oldonload=window.onload;
  if(typeof window.onload!='function'){
    window.onload=func;  
  }else{
    window.onload=function(){
      oldonload();
      func();    
    }  
  }
}

//删除一个元素节点或者文本节点,参考http://book.csdn.net/bookfiles/344/10034413523.shtml
var anchor = document.getElementById("sirius");

var parent = anchor.parentNode;

parent.removeChild(anchor);


/**一个删除元素的函数和测试例子*/
<html>
  <head>
    <title>Remove Element</title>
    <script type="text/javascript">
    //删除元素节点
    function delElement(o){
      var ogff=o.parentNode.parentNode.parentNode;
      var ogf=o.parentNode.parentNode;
      //javascript都是通过父节/父元素点来删除元素或节点的
      ogff.removeChild(ogf);
    }
    </script> 	
  </head>
  <body>
<center>
<table>
<tr id="t_tr">
           <!-- this表示input元素-->
<td id="t_td">A<input type="button" value="delete" onclick="delElement(this)" /></td>
</tr>
<tr id="t_tr">
<td id="t_td">B<input type="button" value="delete" onclick="delElement(this)" /></td>
</tr>
</table>
</center>  
  </body>
</html>

/**
insertBefore(targetElement,Element):把Element放到targetElement起前面
为了和javascrpt的insertBefore(targetElement,Element)对应而写的
insertAfter(newElement,targetElement):把newElement放到targetElement后面
*/
function insertAfter(newElement,targetElement){
  var parent=targetElement.parentNode;
  if(parent.lastChild==targetElement){
    parent.appendChild(newElement);  
  }else{
    parent.insertBefore(newElement,targetElement.nextSibling);  
  }
} 



/**
 * 字串相关 String
 */
/** 修剪字串前后的空格 */
function trim(s) {
  var count = s.length;
  var st    = 0;       // start
  var end   = count-1; // end

  if (s == "") return s;
  while (st < count) {
    if (s.charAt(st) == " ")
      st ++;
    else
      break;
  }
  while (end > st) {
    if (s.charAt(end) == " ")
      end --;
    else
      break;
  }
  return s.substring(st,end + 1);
}

/**
 * 对Form的多选框进行处理
 * mode        A-全选,B-反选
 */
 function selectAll(box,mode){      
     var check = box.checked;  
     var agree=document.getElementById("agree");
      var disagree=document.getElementById("disagree");
     var boxes = document.getElementsByName("checkbox");  
     switch (mode){
		case 'A': // 全选
		    disagree.checked=false;
		     
		     for(var i=0;i<boxes.length;i++){                    
		       //  alert(boxes[i].checked )  
		         boxes[i].checked = check;                     
		     }  
		     break;
	    case 'B': // 反选
	         agree.checked=false;
		     for(var i=0;i<boxes.length;i++){      
		         if(boxes[i].checked==true){
		             boxes[i].checked=false;
		         }else{
		             boxes[i].checked=true
		         }
		     }
		     break;
	}	     
} 

全选<input id="agree" type="checkbox" onclick="selectAll(this,'A')"/>
反选<input id="disagree" type="checkbox" onclick="selectAll(this,'B')"/>


//验证时间格式  YYYY-MM-DD
function isDate(date){
	var regu = "^[0-9]{4}-([0-1]?)[0-9]{1}-([0-3]?)[0-9]{1}$";
//	var regu = "^([0-9]*[.0-9])$"; // 小数测试
	var re   = new RegExp(regu);
	if (date.search(re) != -1)
		return true;
	else
		return false;
}


//这是另外的客户端校验,可以不要
function check_Num()//检查输入是否是数字,不是数字就部响应输入
{
	if((event.keyCode<48) || (event.keyCode>57))
		return false;
}



//用于判断层的位置,用于把某个元素放在另一个元素的下面
    function findPos(obj) {
		var curleft = curtop = 0;
		if (obj.offsetParent) {
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		} 
		return [curleft,curtop];
	}
//例如:
//层的定位,这里是把DIV放到t_object元素的下面去
	        //把document.getElementById("cele_date")的元素放在positionElem元素的下面
	        var positionName=t_object.getAttribute("id");//t_object在这里是某个元素
	        var positionElem=document.getElementById(positionName);
	        var posDiv=findPos(positionElem);
			posDiv.push(positionElem.offsetHeight); 
			posDiv.push(positionElem.offsetWidth)
			document.getElementById("cele_date").style.top=(posDiv[1]+posDiv[2])+'px';
			document.getElementById("cele_date").style.left=posDiv[0]+'px';


/**
	 *  按外部XSL格式转换XML文档到页面的div元属中
	 * divID:div的id
	 * xmlFileStr:xml文件的内容
	 * xslFileStr:xsl文件的路径
	 */
	// 按XSL格式转换XML文档到divID元属中
	function transformXml (divID, xmlFileStr, xslFileStr) {
		var divObj = document.getElementById(divID);
		//alert(divObj)
      	//alert(xmlFileStr);
      	
		if (typeof window.ActiveXObject != 'undefined') { // 支持IE浏览器
			xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
			xslDoc = new ActiveXObject("Msxml2.DOMDocument");
			xmlDoc.async = false;
			xmlDoc.loadXML(xmlFileStr);//xml文件/xml的内容
			xslDoc.async = false;
			xslDoc.load(xslFileStr);//xsl文件
			//alert("*********************"+xslDoc.xml)
			//alert(xmlDoc.transformNode(xslDoc));
			divObj.innerHTML = xmlDoc.transformNode(xslDoc);

			//alert(divObj.innerHTML);//为空字符串
			
		}
		else if((typeof document.implementation != 'undefined')
			&&(typeof document.implementation.createDocument!='undefined')) { // 支持Mozilla浏览器
			
			xslDoc = document.implementation.createDocument("", "", null);
		   // 定义XSLTProcessor对象
			try{
		    
			    var dp = new DOMParser();
			    var xmlDOM = dp.parseFromString(xmlFileStr, "text/xml");
		
			    xslDoc.async = false;
			    xslDoc.load(xslFileStr);
			    var xsltProcessor = new XSLTProcessor();
			    xsltProcessor.importStylesheet(xslDoc);
			    // transformToDocument方式
			    var result = xsltProcessor.transformToDocument(xmlDOM);
			    var xmls = new XMLSerializer();
			    
			    //alert(xmls.serializeToString(result));
			    divObj.innerHTML = xmls.serializeToString(result);
			}catch(e){
				alert(e.name + ": " + e.message);            
				return "";;
			}

		}
	}
	


// 按XSL格式转换XML文档到div元属中
	/*
		divID元素的id
		xmlFileStr:xml文件的路径
		xslFileStr:xsl文件的路径
	*/
	function transformXml (divID,xmlFileStr, xslFileStr) {
		var divObj = document.getElementById(divID);
      
		if (typeof window.ActiveXObject != 'undefined') { // 支持IE浏览器
			xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
			xslDoc = new ActiveXObject("Msxml2.DOMDocument");
			xmlDoc.async = false;
			xmlDoc.load(xmlFileStr);//xml文件的路径
			xslDoc.async = false;
			xslDoc.load(xslFileStr);//xsl文件的路径
			divObj.innerHTML = xmlDoc.transformNode(xslDoc);
		}
		else if((typeof document.implementation != 'undefined')
			&&(typeof document.implementation.createDocument!='undefined')) { // 支持Mozilla浏览器
			xmlDoc = document.implementation.createDocument("", "", null);  
			xslDoc = document.implementation.createDocument("", "", null);
			// 定义XSLTProcessor对象
			
			xmlDoc.async = false;
			xmlDoc.load(xmlFileStr);
			xslDoc.async = false;
			xslDoc.load(xslFileStr);
			xsltProcessor = new XSLTProcessor();
			xsltProcessor.importStylesheet(xslDoc);  
			var resultHtml = xsltProcessor.transformToDocument(xmlDoc);
			oXmlSerializer = new XMLSerializer();
			divObj.innerHTML = oXmlSerializer.serializeToString(resultHtml);

		}
	}


//拿取下拉列表所选择的值或其选择项内容
	function getChoseValue(flag){//flag是下拉列表的id
		var choseArray = document.getElementById(flag);
		for(var i=0;i<choseArray.length;i++){
			if(choseArray[i].selected == true){
				//alert(choseArray[i].text)//选择项的内容,choseArray[i].text等价浴于choseArray.options[i].text
				return choseArray[i].value;//值
			}
		}

document.getElementById("sel").options.length=0;//清空select里的所有option选项,参考http://www.toto369.net/jsjq/s/select/select1.htm
	}

  //离开当前链接就触发事件,关闭窗口也会触发该事件
<body onbeforeunload="LeaveWin()">
function LeaveWin(){
		// do more thing
		alert("离开当前链接就触发事件
	
	}



拿取radio的值
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title></title>
	<script type="text/javascript">
		function test(){
			var testContent = "";
			for(var i=1;i<=2;i++){
				var radioXElement = document.getElementsByName("x"+i);
				for(var j=0;j<radioXElement.length;j++){
					if(radioXElement[j].checked==true){
						testContent = testContent+radioXElement[j].value;
					}
				}
			}
			
			alert(testContent);
			
		}		
	</script>
  </head>
  
  <body>
    <table>
	<tr class="tr">
		<td></td>
		 <td class='td' > <input type="radio" name="x1"  value="XX1" style="width:13px"/>XX1</td>
		 <td class='td' > <input type="radio" name="x1"  value="YY1" style="width:13px"/>YY1</td>
		<td></td>
	</tr>
	<tr class="tr">
		<td></td>
		 <td class='td' > <input type="radio" name="x2" value="XX2" style="width:13px"/>XX2</td>
		 <td class='td' > <input type="radio" name="x2" value="YY2" style="width:13px"/>YY2</td>
		<td></td>
	</tr>
	<tr class="tr">
		<td></td>
		 <td colspan="2"><input type="button" value="test" onclick="test()" size="10"/></td>
		<td></td>
	</tr>
	</table>
  </body>
</html>

/**
			 * 用javascript的正则表达式判断输入的格式是否正确
			 * @param beginDate:输入的日期
			 */
            function checkDateFormat(beginDate){
				beginDate = document.getElementById("beginDate").value;
                if (beginDate.length != 10) {
                    alert("请填写正确的日期格式(YYYY-MM-DD)!");
                    return false;
                }
                var reg = /^(?:19|20\d{2})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[0|1])$/;
                if (!reg.test(beginDate)) {
					alert("请填写正确的日期格式(YYYY-MM-DD)或日期是否正确!");
                    return false;
				}else{
					return true;
				}
                    
            }


//Javascript中Array的默认方法里没有提供indexOf方法,那也自己动手加一个进去 
//以prototype方式来Hack Javascript 真的很爽

if (!Array.prototype.indexOf) {
	Array.prototype.indexOf = function(item, i) {
		i || (i = 0);
		var length = this.length;
		if (i < 0) i = length + i;
		for (; i < length; i++)
		if (this[i] === item) return i;
		return -1;
	};
}


//javascript没有replaceAll方法,用正则表达写的replaceAll方法
String.prototype.replaceAll  = function(s1,s2){//去掉内容空格
	return this.replace(new RegExp(s1,"gm"),s2);   
}
分享到:
评论

相关推荐

    一个简单的JavaScript函数式编程教程.docx

    JavaScript函数式编程是一种编程范式,它强调使用函数作为一等公民,即函数可以作为其他函数的参数,也可以作为返回值。这种编程风格在处理异步操作、数据流和构建可复用的代码模块时特别有效。在JavaScript中,由于...

    一个简单的JavaScript函数式编程教程JAVA语言

    ### JavaScript函数式编程教程 #### 引言 随着软件开发技术的发展,JavaScript作为一种重要的前端开发语言,其在函数式编程领域的应用越来越广泛。本文通过一个简单的书签应用案例,介绍了如何利用JavaScript进行...

    个人JavaScript脚本收藏

    这个"个人JavaScript脚本收藏"压缩包文件显然包含了作者收集的各种JavaScript代码片段和特效,旨在帮助开发者快速实现特定的功能或者提升网页的用户体验。 1. **基础概念**:JavaScript基于ECMAScript规范,它主要...

    解析javascript 实用函数的使用详解

    接下来,我会详细解析给定文件中的几个关键JavaScript函数,这些函数在网页开发中非常实用。 首先是`addBookMark`函数,它的作用是帮助用户将当前网页添加到浏览器的收藏夹中。此函数首先通过判断`document.all`...

    Javascript代码收藏大全1

    这个"Javascript代码收藏大全1"可能包含了上述部分或全部知识点的具体应用示例,如常见的DOM操作、事件处理、动画效果、Ajax请求、数据处理函数等。每个文档可能针对特定主题,比如"Javascript代码收藏大全1.doc...

    Javascript代码收藏大全2

    "Javascript代码收藏大全2"显然是一份宝贵的资源集合,包含了多种JavaScript编程的实例和技巧。这份资源可能涵盖了从基础语法到高级特性的各种示例,旨在帮助开发者加深对JavaScript的理解和应用。 1. **基础语法**...

    网页javascript常用代码收藏

    根据提供的文件信息,我们可以归纳总结出一系列与JavaScript相关的知识点,主要涉及网页控制、显示效果以及交互体验等方面。接下来,我们将详细解析这些知识点。 ### 1. 防止框架嵌套 ```javascript ...

    javascript经典收藏和例子

    在这个"javascript经典收藏和例子"的压缩包中,很显然,你将找到一系列关于JavaScript的重要工具和实例,帮助你在项目开发中提升效率。 首先,JavaScript的核心概念包括变量、数据类型、运算符、控制结构(如if语句...

    PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例

    模仿JAVASCRIPT的ESCAPE和UNESCAPE函数的功能 用curl函数读取远程文件 用file_getcontents提交数据 用php生成扭曲,有角度的验证图片(支持中文) 用正则加亮关键字 程序运行过程中直接输出 缩略图带版权信息...

    javascript脚本收藏

    这个"javascript脚本收藏"包含了一系列的JavaScript源代码和实现实例,旨在帮助开发者和学习者深入理解和掌握JavaScript的各种功能和应用。 1. **基础语法**:JavaScript的基础包括变量声明(var、let、const)、...

    收藏PHP常用函数 收藏PHP常用函数

    - 使用JavaScript的`window.location`属性,例如`echo "&lt;script&gt;window.location=\"index.php\";&lt;/script&gt;";` 以上就是从给定的文件信息中提取的关于PHP的几个重要知识点,包括了获取IP地址、日期操作、日期时间...

    javascript收藏全集(实例)

    这个“JavaScript收藏全集(实例)”的压缩包很可能包含了各种JavaScript的实用技巧和示例,旨在帮助开发者提升技能和理解能力。JavaScript的核心特性包括其动态类型、基于原型的对象、函数作为一等公民以及异步编程的...

    javascript 1470个效果代码 值得你收藏

    这个“javascript 1470个效果代码 值得你收藏”集合,显然是一份包含了大量JavaScript实用代码片段的资源库,对于开发者来说,这是一份非常宝贵的参考资料。 首先,我们要理解JavaScript的基础知识。JavaScript由...

    JavaScript经典源码收藏-jsp.rar

    在“JavaScript经典源码收藏.jsp”这个文件中,可能包含了上述概念的实际应用示例,如JavaScript函数与JSP页面元素的交互,或者利用AJAX技术与服务器进行数据通信。对于学习者来说,这是一个很好的参考资料,可以...

    javascript经典应用收藏

    首先,JavaScript的基础知识点包括变量、数据类型(如字符串、数字、布尔值、对象、数组等)、运算符、控制结构(如条件语句if/else、循环for、while等)、函数、以及事件处理。这些构成了JavaScript编程的基础。 ...

    深入理解JavaScript系列(汤姆大叔)

    深入理解JavaScript系列(2):揭秘命名函数表达式 深入理解JavaScript系列(3):全面解析Module模式 深入理解JavaScript系列(4):立即调用的函数表达式 ... 深入理解JavaScript系列(结局篇) 说明:此系列文档...

    javascript常用函数(1)

    5、 添加收藏夹 6、 设置首页 7、 Jquery + Ajax 判断用户是否存在 8、 判断email格式是否正确 9、 综合判断用户名(长度,英文字段等) 10、新闻滚动 11、 只允许输入正整数 (shopping cart 使用) 或者 正数...

    javascript\JS使用大全收藏

    JavaScript(简称JS)是一种轻量级的解释性编程语言,广泛用于网页和网络应用开发。在这个JS使用大全收藏中,涵盖了超过230个常用功能,包括各种交互效果、事件处理、DOM操作以及样式控制等。下面将对部分关键知识点...

Global site tag (gtag.js) - Google Analytics