分享10个原生JavaScript技巧
1、实现字符串长度截取
functioncutstr(str,len){ vartemp; varicount=0; varpatrn=/[^\x00-\xff]/; varstrre=""; for(vari=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 } } returnstrre+"..." }
2、获取域名主机
functiongetHost(url){ varhost="null"; if(typeofurl=="undefined"||null==url){ url=window.location.href; } varregex=/^\w+\:\/\/([^\/]*).*/; varmatch=url.match(regex); if(typeofmatch!="undefined"&&null!=match){ host=match[1]; } returnhost; }
3、清除空格
String.prototype.trim=function(){ varreExtraSpace=/^\s*(.*?)\s+$/; returnthis.replace(reExtraSpace,"$1") }
4、替换全部
String.prototype.replaceAll=function(s1,s2){ returnthis.replace(newRegExp(s1,"gm"),s2) }
5、转义html标签
functionHtmlEncode(text){ returntext.replace(/&/g,'&').replace(/\"/g,'"').replace(/</g,'<').replace(/>/g,'>') }
6、还原html标签
functionHtmlDecode(text){ returntext.replace(/&/g,'&').replace(/"/g,'\"').replace(/</g,'<').replace(/>/g,'>') }
7、时间日期格式转换
Date.prototype.Format=function(formatStr){ varstr=formatStr; varWeek=['日','一','二','三','四','五','六']; 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()); returnstr }
8、判断是否为数字类型
functionisDigit(value){ varpatrn=/^[0-9]*$/; if(patrn.exec(value)==null||value==""){ returnfalse }else{ returntrue } }
9、设置cookie值
functionsetCookie(name,value,Hours){ vard=newDate(); varoffset=8; varutc=d.getTime()+(d.getTimezoneOffset()*60000); varnd=utc+(3600000*offset); varexp=newDate(nd); exp.setTime(exp.getTime()+Hours*60*60*1000); document.cookie=name+"="+escape(value)+";path=/;expires="+exp.toGMTString()+";domain=360doc.com;" }
10、获取cookie值
functiongetCookie(name){ vararr=document.cookie.match(newRegExp("(^|)"+name+"=([^;]*)(;|$)")); if(arr!=null)returnunescape(arr[2]); returnnull
以上所述就是本文的全部内容了,希望大家能够喜欢。