分享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
以上所述就是本文的全部内容了,希望大家能够喜欢。