本文中,收集了一些比较常用的Javascript函数,希望对学习JS的朋友们有所帮助。
1. 字符串长度截取
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
function
var
icount
patrn
strre "" ;
for
var
if
temp
if
null )
icount
} else
icount
}
strre
} else
break ;
}
}
return
"..."
}
|
2. 替换全部
1
2
3
|
String.prototype.replaceAll function (s1,
return
.replace( new
"gm" ),
}
|
3. 清除空格
1
2
3
4
|
String.prototype.trim function ()
var
return
.replace(reExtraSpace, "$1" )
}
|
4. 清除左空格/右空格
1
2
|
function
return
"" );
function
return
"" );
|
5. 判断是否以某个字符串开头
1
2
3
|
String.prototype.startWith function
return
.indexOf(s)
}
|
6. 判断是否以某个字符串结束
1
2
3
4
|
String.prototype.endWith function
var
this .length
return
this .lastIndexOf(s)
}
|
7. 转义html标签
1
2
3
|
function
return
'&' ).replace(/\ "/g, ').replace(/</g, '<' ).replace(/>/g, '>' )
}
|
8. 时间日期格式转换
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
Date.prototype.Format function (formatStr)
var
var
'日' , '一' , '二' , '三' , '四' , '五' , '六' ];
str this .getFullYear());
str this .getYear() this .getYear() '0'
this .getYear()
str this .getMonth() this .getMonth() '0'
this .getMonth()
str this .getMonth()
str this .getDay()]);
str this .getDate() this .getDate().toString() '0'
this .getDate());
str this .getDate());
str this .getHours() this .getHours().toString() '0'
this .getHours());
str this .getHours());
str this .getMinutes() this .getMinutes().toString() '0'
this .getMinutes());
str this .getMinutes());
str this .getSeconds() this .getSeconds().toString() '0'
this .getSeconds());
str this .getSeconds());
return
}
|
9. 判断是否为数字类型
1
2
3
4
5
6
7
8
|
function
var
if
null
"" )
return
} else
return
}
}
|
10. 设置cookie值
1
2
3
4
5
6
7
8
9
|
function
var
new
var
var
var
var
new
exp.setTime(exp.getTime()
document.cookie "="
";path=/;expires="
";domain=360doc.com;"
}
|
11. 获取cookie值
1
2
3
4
5
|
function
var
new
"(^|
"=([^;]*)(;|$)" ));
if
null ) return
return
}
|
12. 加入收藏夹
1
2
3
4
5
6
7
8
9
10
11
|
function
try
window.external.addFavorite(sURL,
} catch (e)
try
window.sidebar.addPanel(sTitle, "" )
} catch (e)
alert( "加入收藏失败,请使用Ctrl+D进行添加" )
}
}
}
|
13. 设为首页
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
function
if
document.body.style.behavior 'url(#default#homepage)' ;
document.body.setHomePage( 'http://w3cboy.com' )
} else
if
try
netscape.security.PrivilegeManager.enablePrivilege( "UniversalXPConnect" )
} catch (e)
alert( "该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 )
}
}
var
'@mozilla.org/preferences-service;1' ].getService(Components.interfaces.nsIPrefBranch);
prefs.setCharPref( 'browser.startup.homepage' , 'http://w3cboy.com' )
}
}
|
14. 加载样式文件
1
2
3
4
5
6
7
8
9
10
11
12
|
function
try
document.createStyleSheet(url)
} catch (e)
var
'link' );
cssLink.rel 'stylesheet' ;
cssLink.type 'text/css' ;
cssLink.href
var
'head' )[0];
head.appendChild(cssLink)
}
}
|
15. 返回脚本内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
function
if (s.indexOf( '<script' ) return
var
var
while (arr
var
var
arr1
if (arr1)
appendscript(arr1[1], '' ,
} else
p1
arr1
appendscript( '' , 'reload=' )
}
}
return
}
|
16. 清除脚本内容
1
2
3
|
function
return
'' );
}
|
17. 动态加载脚本文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
function
var
if (!reload return ;
if (reload
$(id).parentNode.removeChild($(id));
}
evalscripts.push(id);
var
"script" );
scriptNode.type "text/javascript" ;
scriptNode.id
scriptNode.charset
try
if (src)
scriptNode.src
scriptNode.onloadDone false ;
scriptNode.onload function
scriptNode.onloadDone true ;
JSLOADED[src]
};
scriptNode.onreadystatechange function
if ((scriptNode.readyState 'loaded'
'complete' )
scriptNode.onloadDone true ;
JSLOADED[src]
}
};
} else
(text){
scriptNode.text
}
document.getElementsByTagName( 'head' )[0].appendChild(scriptNode);
} catch (e)
}
|
18. 返回按ID检索的元素对象
function $(id) {
return !id ? null : document.getElementById(id);
}
19. 跨浏览器绑定事件
1
2
3
4
5
6
7
8
9
10
|
function
if (!oTarget){ return ;}
if
obj.addEventListener(evt, false );
} else
(obj.attachEvent){
obj.attachEvent( 'on' +evt,fn);
} else {
oTarget[ "on"
}
}
|
20. 跨浏览器删除事件
1
2
3
4
5
6
7
8
9
10
|
function
if (!obj){ return ;}
if (obj.addEventListener){
obj.addEventListener(evt,fn, false );
} else
(oTarget.attachEvent){
obj.attachEvent( "on"
} else {
obj[ "on"
}
}
|
21. 为元素添加on方法
1
2
3
4
5
6
7
8
|
Element.prototype.on
NodeList.prototype.on function
[][ 'forEach' ].call( this , function
el.on(event,
});
return
;
};
|
22. 为元素添加trigger方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
Element.prototype.trigger function
var
'HTMLEvents' );
event.initEvent(type, true , true );
event.data
event.eventName
event.target this ;
this .dispatchEvent(event);
return
;
};
NodeList.prototype.trigger function
[][ 'forEach' ].call( this , function
el[ 'trigger' ](event);
});
return
;
};
|
23. 检验URL链接是否有效
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
function
var
new
"microsoft.xmlhttp" );
xmlhttp.Open( "GET" ,URL, false );
try {
xmlhttp.Send();
} catch (e){
}finally{
var
if (result){
if (xmlhttp.Status==200){
return ( true );
} else {
return ( false );
}
} else {
return ( false );
}
}
}
|
24. 格式化CSS样式代码
1
2
3
4
5
6
7
8
9
|
function
//格式化代码
s "$1" );
s ";" ); //清除连续分号
s #\d]*{/g,
s "$1 );
s "$1\n}\n$2" );
s "$1;\n\t$2" );
return
}
|
25. 压缩CSS样式代码
1
2
3
4
5
6
7
8
|
function
//压缩代码
s //g,
s "$1" );
s #\d]*\{/g,
s ";" ); //清除连续分号
s //去掉首尾空白
return
null ) ""
}
|
26. 获取当前路径
1
2
3
4
5
6
|
var
"" ;
if
typeof
.href "undefined" )
currentPageUrl
} else
currentPageUrl this .href.toString().toLowerCase();
}
|
27. 判断是否移动设备
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
function
if
typeof
._isMobile 'boolean' ){
return
._isMobile;
}
var
this .getScreenWidth();
var
var
"new" );
if (!fixViewPortsExperiment){
if (! this .isAppleMobileDevice()){
screenWidth
}
}
var
var
false ;
this ._isMobile this .isTouchScreen();
return
._isMobile;
}
|
28. 判断是否移动设备访问
1
2
3
|
function
return
}
|
29. 判断是否苹果移动设备访问
1
2
3
|
function
return
}
|
30. 判断是否安卓移动设备访问
1
2
3
|
function
return
}
|
31. 判断是否Touch屏幕
1
2
3
|
function
return
'ontouchstart'
instanceof
}
|
32. 判断是否打开视窗
1
2
3
|
function
return
'wixMobileViewport' );
}
|
33. 获取移动设备初始化大小
1
2
3
4
5
6
7
8
9
10
|
function
if (! this ._initZoom){
var
if ( this .isAndroidMobileDevice() this .isNewChromeOnAndroid()){
screenWidth
}
this ._initZoom
}
return
._initZoom;
}
|
34. 获取移动设备最大化大小
1
2
3
4
5
6
7
8
9
10
11
12
13
|
function
var
if ( this .isAndroidMobileDevice() this .isNewChromeOnAndroid()){
screenWidth
}
var
var
"New"
"new" );
if (FixViewPortsExperimentRunning){
return
} else {
return
}
}
|
35. 获取移动设备屏幕宽度
1
2
3
4
5
6
7
8
9
10
11
|
function
var
var
var
"new" );
if (fixViewPortsExperiment){
if ( this .isAndroidMobileDevice() this .isNewChromeOnAndroid()){
smallerSide
}
}
return
}
|
36. 完美判断是否为网址
1
2
3
4
5
6
7
8
|
function
var
if
return
;
} else
return
;
}
}
|