日常收集整理的JavaScript常用函数方法

前端之家收集整理的这篇文章主要介绍了日常收集整理的JavaScript常用函数方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

函数就是包裹在花括号中的代码块,前面使用了关键词 function:

代码 }

调用函数时,会执行函数内的代码

可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用

提示:JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数

字符串长度截取

替换全部

清除空格

清除左空格/右空格

判断是否以某个字符串开头

判断是否以某个字符串结束

&this.lastIndexOf(s=d) }

转义html标签

/g'>') }

时间日期格式转换

判断是否为数字类型

设置cookie值

获取cookie值

加入收藏夹

添加") } } }

设为首页

功能,请在地址栏内输about:config,然后将signed.applets.codebase_principal_suppor值该为true") } } vaprefComponents.classes['@mozilla.org/preferences-service;'].getService(Components.interfaces.nsIPrefBranch); prefs.setCharPref('browser.startup.homepage''http://wcboy.com') } }

加载样式文件

返回脚本内容

]*?>([^\x]*?)<\/script>/ig; vaar[]; while(arp.exec(s){ vap/]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"\")?(?:charset=\"([\w\-]+?)\")?><\/script>/i; vaarr[]; arrp.exec(arr[]); if(arr{ appendscript(arr[]''arr[]arr[]); els{ p/([^\x]+?)<\/script>/i; arrp.exec(arr[]); appendscript(''arr[]arr[].indexOf('reload='!-); } } returs; }

清除脚本内容

.*?<\/script>/ig''); }

动态加载脚本文件

返回按ID检索的元素对象

跨浏览器绑定事件

跨浏览器删除事件

为元素添加on方法

为元素添加trigger方法

检验URL链接是否有效

格式化CSS样式代码

代码 s.replace(/\s*([\{\}\:\;\,])\s*/g"$"); s.replace(/;\s*;/g";")//清除连续分号 s.replace(/\,[\s\.\#\d]*{/g"{"); s.replace(/([^\s])\{([^\s])/g"${\n\t$"); s.replace(/([^\s])\}([^\n]*)/g"$\n}\n$"); s.replace(/([^\s]);([^\s\}])/g"$;\n\t$"); returs; }

压缩CSS样式代码

代码 s.replace(/\/\*(.|\n)*?\*\//g"")//删除注释 s.replace(/\s*([\{\}\:\;\,])\s*/g"$"); s.replace(/\,[\s\.\#\d]*\{/g"{")//容错处理 s.replace(/;\s*;/g";")//清除连续分号 s.match(/^\s*(\S+(\s+\S+)*)\s*$/)//去掉首尾空白 retur(=null"s[]; }

获取当前路径

判断是否移动设备

判断是否移动设备访问

判断是否苹果移动设备访问

判断是否安卓移动设备访问

判断是否Touch屏幕

判断是否打开视窗

获取移动设备初始化大小

获取移动设备最大化大小

获取移动设备屏幕宽度

完美判断是否为网址

获取页面高度

获取页面scrollLeft

获取页面可视宽度

获取页面宽度

获取页面scrollTop

获取页面可视高度

去掉url前缀

随机数时间戳

IoUniqueId(){ vaa=Math.random,b=parseInt; returNumber(neDate()).toString()+b(*a())+b(*a())+b(*a()); }

全角半角转换

全*/ for(i=i半*/ for(i=i

确认是否键盘有效输入值

&iKe){returtrue;}/*数字*/ if(iKey>&iKe){returtrue;}/*字母*/ if(iKey>&iKe){returtrue;}/*数字键盘*/ if(iKey>&iKe){returtrue;}/*数字键盘*/ if(iKey>&iKe){returtrue;}/*符号*/ if(iKey>&iKe){returtrue;}/*符号*/ returfalse; }

获取网页被卷去的位置

日期格式化函数+调用方法

时间个性化输出功能

mi&min显示与当前时间差“XX分钟前” .、>mi&day显示与当前时间差“今XX:XX” .、>da&year显示日期“XX月XXXX:XX” .、>year显示具体日期“XXXX年XX月XXXX:XX” .*/ .functiotimeFormat(time){ vadatneDate(time),curDatneDate(),yeadate.getFullYear(),montdate.getMonth(,dadate.getDate(),houdate.getHours(),minutdate.getMinutes(),curYeacurDate.getFullYear(),curHoucurDate.getHours(),timeStr; if(yeacurYear){ timeStyea+'年'mont+'月'da+''hou+':'minute; }else{ vapastTimcurDatdate,pastpastTime/; if(pastcurHour){ timeStmont+'月'da+''hou+':'minute; }elsif(past>){ timeSt'今hou+':'minut+'分'; }else{ vapastcurDate.getMinutes(minute; if(past){ timeStpast+'分钟前'; }else{ timeSt'刚刚'; } } } returtimeStr; }

解决offsetX兼容性问题

不支持offsetX/Y .functiogetOffset(e){ vatargee.target/当前触发的目标对象 eventCoord,pageCoord,offsetCoord; /计算当前触发元素到文档的距离 pageCoorgetPageCoord(target); /计算光标到文档的距离 eventCoor{ window.pageXOffsee.clientX,window.pageYOffsee.clientY }; /相减获取光标到第一个定位的父元素的坐标 offsetCoor{ eventCoord.pageCoord.X,eventCoord.pageCoord.Y }; returoffsetCoord; .} .functiogetPageCoord(element){ vacoor}; /计算从当前触发元素到根节点为止, /各offsetParen元素offsetLefoffsetTo值之和 whil(element){ coord.+element.offsetLeft; coord.+element.offsetTop; elemenelement.offsetParent; } returcoord; .} 常用的正则表达式 .//正整数 ./^[-]*[-][-]*$/; .//负整数 ./^-[-]*[-][-]*$/; .//正浮点数 ./^(([-]+\.[-]*[-][-]*)|([-]*[-][-]*\.[-]+)|([-]*[-][-]*))$/; .//负浮点数 ./^(-(([-]+\.[-]*[-][-]*)|([-]*[-][-]*\.[-]+)|([-]*[-][-]*)))$/; .//浮点数 ./^(-?\d+)(\.\d+)?$/; .//email地址 ./^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/; .//URL地址 ./^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$/; .或:^http:\/\/[A-Za-z-]+\.[A-Za-z-]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])* .//年/月/日(年-月-日、年.月.日) ./^(|)\d\d[/.]([-]|[])[/.]([-]|[][-]|[])$/; .//匹配中文字符 ./[\ue-\ufa]/; .//匹配帐号是否合法(字母开头,允许-字节,允许字母数字下划线) ./^[a-zA-Z][a-zA-Z-_]{,}$/; .//匹配空白行的正则表达式 ./\n\s*\r/; .//匹配中国邮政编码 ./[-]\d{}(?!\d)/; .//匹配身份证 ./\d{}|\d{}/; .//匹配国内电话号码 ./(\d{}-|\d{}-)?(\d{}|\d{})?/; .//匹配IP地址 ./(([-]\d|[-]|[]?\d\d?)\.){}([-]\d|[-]|[]?\d\d?)/; .//匹配首尾空白字符的正则表达式 ./^\s*|\s*$/; .//匹配HTML标记的正则表达式 .(\S*?)[^>]*>.*?|.*/>; .//sq语句 .^(select|drop|delete|create|update|insert).*$ .//提取信息中的网络链接 .(h|H)(r|R)(e|E)(f|F**('|")?(\w|\\|\/|\.)+('|"*|>)? .//提取信息中的邮件地址 .\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* .//提取信息中的图片链接 .(s|S)(r|R)(c|C**('|")?(\w|\\|\/|\.)+('|"*|>)? .//提取信息中I地址 .(\d+)\.(\d+)\.(\d+)\.(\d+) .//取信息中的中国手机号码 .()**\d{} .//提取信息中的中国邮政编码 .[-]{}(\d+){} .//提取信息中的浮点数(即小数) .(-?\d*)\.?\d+ .//提取信息中的任何数字 .(-?\d*)(\.\d+)? .//电话区号 .^\d{,}$ .//腾Q号 .^[-]*[-][-]* .//帐号(字母开头,允-字节,允许字母数字下划线) .^[a-zA-Z][a-zA-Z-_]{,} .//中文、英文、数字及下划线 .^[\ue-\ufa_a-zA-Z-]+$ 返回顶部的通用方法 .functiobackTop(btnId{ vabtdocument.getElementById(btnId); vadocument.documentElement; vadocument.body; window.onscrolset; btn.style.displa"none"; btn.onclicfunction({ btn.style.displa"none"; window.onscrolnull; this.timesetInterval(function({ d.scrollTo-Math.ceil((d.scrollTob.scrollTop.); b.scrollTo-Math.ceil((d.scrollTob.scrollTop.); i((d.scrollTob.scrollTop=clearInterval(btn.timerwindow.onscrolset); }); }; functioset({ btn.style.displa(d.scrollTob.scrollTo'block'"none" } .}; .backTop('goTop'); 获得URL中GET参数值 ./用法:如果地址test.htm?t=&t=&t=那么能取得:GET["t"]GET["t"]GET["t"] .functioget_get(){ querystwindow.location.href.split("?") if(querystr[]){ GETquerystr[].split("&"); GE[]; for(i=;i方法 .functioopenWindow(url,windowName,width,height){ vaparseInt(screen.widt.(widt.); vaparseInt(screen.heigh.(heigh.); vaisMSIE(navigator.appNam="MicrosofInterneExplorer"); i(isMSIE{ va"resizable=,location=no,scrollbars=no,width="; p+width; p+",height="; p+height; p+",left="; p+x; p+",top="; p+y; retvawindow.open(urlwindowNamep); els{ vawiwindow.open(url"ZyiisPopup""top=",left=",scrollbars=scrollbar",dialog=yes,modal=yes,width=widt",height=heigh",resizable=no); eval("trwin.resizeTo(widthheight)catch(e}"); win.focus(); } .}

提取页面代码中所有网址

vaadocument.documentElement.outerHTML.match(/(url(|src=|href=)[\"\']([^\"\'()\<>[]+)[\"\')]|(http:\/\/[\w-.]+[^\"\'()\<>[]+)/ig).join("\r\n").replace(/^(src=|href=|url()[\"\']|[\"\'>]$/igm,"");
alert(aa);

清除相同的数组
String.prototype.unique=function(){
vax=this.split(/[\r\n]+/);
vay='';
for(vai=;i<x.length;i++){
if(!neRegExp("^"+x.replace(/([^\w])/ig,"\$")+"$","igm").test(y)){
y+=x+"\r\n"
}
}
retury
};

按字母排序,对每行进行数组排序

functioSetSort(){
vatext=K.value.split(/[\r\n]/).sort().join("\r\n");//顺序
vatest=K.value.split(/[\r\n]/).sort().reverse().join("\r\n");//反序
K.value=K.value!=text?text:test;
}

字符串反序
functioIsReverse(text){
returtext.split('').reverse().join('');
}

清除HTML代码中的脚本

functioclear_script(){
K.value=K.value.replace(/<script.?>[\s\S]?<\/script>|\s+on[a-zA-Z]{,}\s?=\s?"[\s\S]?"|\s+on[a-zA-Z]{,}\s?=\s?'[\s\S]?'|\s+on[a-zA-Z]{,}\s?=[>]+/ig,"");
}
动态执行JavaScript脚本
functiojavascript(){
try{
eval(K.value);
}catch(e){
alert(e.message);
}
}

动态执行VBScript脚本

functiovbscript(){
try{
vascript=document.getElementById("K").value;
if(script.trim()=="")return;
window.execScript('OErroResumNex\n'+script+'\IErr.Number<>The\MsgBo"请输入正确的VBScript脚本!","脚本错误!\EnIf',"vbscript")
}catch(e){
alert(e.message);
}
}

金额大写转换函数

functiotransform(tranvalue{
tr{
va;
vadneArray("""万""亿")//大单位
vadneArray("拾""佰""仟")//小单位
vadneArray("零""壹""贰""叁""肆""伍""陆""柒""捌""玖")//整数部分用
//以下是小写转换成大写显示在合计大写的文本框
//分离整数与小数
vasourcsplits(tranvalue);
vanusource[];
vadisource[];
//转换整数部分
va//计小单位
va//计大单位
vasu;
vast"";
valesource[].length//整数的长度
fo(<leni++{
vasource[].charAt(lei)//取得某个位数上的数字
vab;
i(l>{
bsource[].charAt(le)//取得某个位数前一位上的数字
}
susuNumber(n);
i(su!{
stdw[Number(n)].concat(str)//取得该数字对应的大写数字,并插入到str字符串的前面
i(=''su;
}
i(l>//在数字范围内
i(!//加小单位
i(b!{
stdw[k].concat(str);
}
k++;
els//不加小单位,加大单位
;
vatemstr.charAt();
i(tem="万|tem="亿"//若大单位前没有数字则舍去大单位
ststr.substr(str.lengt);
stdw[k].concat(str);
su;
}
}
i(=)//小单位到千则大单位进一
k++;
}
}
//转换小数部分
vastrdi"";
i(di!""{
vadig.charAt();
i(!{
strdi+dw[Number(n)"角"//加数字
}
vadig.charAt();
i(!{
strdi+dw[Number(n)"分"//加数字
}
}
st+"元strdig;
catch(e{
retur"元";
}
returstr;
}
//拆分整数与小数
functiosplits(tranvalue{
vavaluneArray('''');
temtranvalue.split(".");
fo(vatemp.lengthi++{
valutemp;
}
returvalue;
}

resize的操作

(function(){
vaffunction(){
vadocument.documentElemendocument.documentElement.clientWidtdocument.body.clientWidth,Element.extend(document.body),classnamb.className;
if(r){
//当窗体的宽度小于的时候执行相应的操作
}else{
//当窗体的宽度大于的时候执行相应的操作
}
}
if(window.addEventListener){
window.addEventListener('resize'function()fn()});
}elsif(window.attachEvent){
window.attachEvent('onresize'function()fn()});
}
fn();
})();

实现base64解码

functiobase_decode(data){
vab"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=";
vaooohhhhbits,a,de"",tmp_ar[];
i(!datareturdata}
dat+'';
d{
hb.indexOf(data.charAt(i++));
hb.indexOf(data.charAt(i++));
hb.indexOf(data.charAt(i++));
hb.indexOf(data.charAt(i++));
bith<h<h<h;
obit>xff;
obit>xff;
obitxff;
i(h={
tmp_arr[ac++String.fromCharCode(o);
elsi(h={
tmp_arr[ac++String.fromCharCode(oo);
els{
tmp_arr[ac++String.fromCharCode(ooo);
}
whil(data.length);
detmp_arr.join('');
deutf_decode(dec);
returdec;
}

实现utf8解码

.functIoUtf_decode(str_data){
vatmp_ar[],;str_dat+'';
whil(str_data.length{
str_data.charCodeAt(i);
i({
tmp_arr[ac++String.fromCharCode(c);
i++;
elsi&{
str_data.charCodeAt();
tmp_arr[ac++String.fromCharCode(((<());
+;
els{
str_data.charCodeAt();
str_data.charCodeAt();
tmp_arr[ac++String.fromCharCode(((<((<());
+;
}
}
returtmp_arr.join('');
}

获取窗体可见范围的宽与高

.functiogetViewSize(){
vade=document.documentElement;
vadb=document.body;
vaviewW=de.clientWidth==db.clientWidtde.clientWidth;
vaviewH=de.clientHeight==db.clientHeighde.clientHeight;
returArray(view,viewH);
}

断鼠标是否移出事件

functioisMouseOut(ehandler{
i(e.typ!='mouseout'{
returfalse;
}
varelte.relatedTargee.relatedTargee.typ=='mouseoute.toElemene.fromElement;
whil(relt&relt!=handler{
reltreltg.parentNode;
}
retur(relt!=handler);
}

半角转换为全角函数

.functioToDBC(str){
varesul'';
for(vai=str.lengthi++){
codstr.charCodeAt(i);
if(cod>&cod<){
resul+String.fromCharCode(str.charCodeAt(i);
}elsi(cod=){
resul+String.fromCharCode(str.charCodeAt(i);
}else{
resul+str.charAt(i);
}
}
returresult;
}

全角转换为半角函数
.functioToCDB(str){
varesul'';
for(vai=str.lengthi++){
codstr.charCodeAt(i);
if(cod&cod<){
resul+String.fromCharCode(str.charCodeAt(i);
}elsi(cod=){
resul+String.fromCharCode(str.charCodeAt();
}else{
resul+str.charAt(i);
}
}
returresult;
}

猜你在找的JavaScript相关文章