函数就是包裹在花括号中的代码块,前面使用了关键词 function:
function functionname() { 这里是要执行的代码 }
当调用该函数时,会执行函数内的代码。
可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。
提示:JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
字符串长度截取
functiocutstr(strlen{ vatemp, icoun, patr/[^\\x-\\xff]/, strr\"\"; fo(vastr.lengthi++{ i(icounle{ temstr.substr(i); i(patrn.exec(temp=null{ icounicoun els{ icounicoun } strr+temp els{ break; } } returstrr\"...\" }
替换全部
String.prototype.replaceAlfunction(ss{ returthis.replace(neRegExp(s\"gm\")s) }
清除空格
String.prototype.trifunction({ vareExtraSpac/^\\s*(.*?)\\s+$/; returthis.replace(reExtraSpace\"$\") }
清除左空格/右空格
functioltrim(s)returs.replace/^(\\s*| *)/\"\")} functiortrim(s)returs.replace/(\\s*| *)$/\"\")}
判断是否以某个字符串开头
String.prototype.startWitfunctio(s{ returthis.indexOf(s= }
判断是否以某个字符串结束
String.prototype.endWitfunctio(s{ vathis.lengts.length; retur(>&this.lastIndexOf(s=d) }
转义html标签
functioHtmlEncode(text{ returtext.replace(/&/g\'&\').replace(/\\\"/g\'\"\').replace(/</g\'<\').replace(/>/g\'>\') }
时间日期格式转换
Date.prototype.Formafunction(formatStr{ vastformatStr; vaWee[\'日\'\'一\'\'二\'\'三\'\'四\'\'五\'\'六\']; ststr.replace(/yyyy|YYYY/this.getFullYear()); ststr.replace(/yy|YY/(this.getYear((this.getYear().toString(\'(this.getYear()); ststr.replace(/MM/(this.getMonth((this.getMonth().toString(\'(this.getMonth()); ststr.replace(/M/g(this.getMonth()); ststr.replace(/w|W/gWeek[this.getDay()]); ststr.replace(/dd|DD/this.getDate(this.getDate().toString(\'this.getDate()); ststr.replace(/d|D/gthis.getDate()); ststr.replace(/hh|HH/this.getHours(this.getHours().toString(\'this.getHours()); ststr.replace(/h|H/gthis.getHours()); ststr.replace(/mm/this.getMinutes(this.getMinutes().toString(\'this.getMinutes()); ststr.replace(/m/gthis.getMinutes()); ststr.replace(/ss|SS/this.getSeconds(this.getSeconds().toString(\'this.getSeconds()); ststr.replace(/s|S/gthis.getSeconds()); returstr }
判断是否为数字类型
functioisDigit(value{ vapatr/^[-]*$/; i(patrn.exec(value=nul|valu=\"\"{ returfalse els{ returtrue } }
设置cookie值
functiosetCookie(namevalueHours{ vaneDate(); vaoffse; vautd.getTime((d.getTimezoneOffset(); vanut(offset); vaexneDate(nd); exp.setTime(exp.getTime(Hour); document.cookinam\"=escape(value\";path=/;expires=exp.toGMTString(\";domain=doc.com;\" }
获取cookie值
functiogetCookie(name{ vaardocument.cookie.match(neRegExp(\"(^)nam\"=([^;]*)(;|$)\")); i(ar!nullreturunescape(arr[]); returnull }
加入收藏夹
functioAddFavorite(sURLsTitle{ tr{ window.external.addFavorite(sURLsTitle) catch(e{ tr{ window.sidebar.addPanel(sTitlesURL\"\") catch(e{ alert(\"加入收藏失败,请使用Ctrl+D进行添加\") } } }
设为首页
functiosetHomepage({ i(document.all{ document.body.style.behavio\'url(#default#homepage)\'; document.body.setHomePage(\'http://wcboy.com\') elsi(window.sidebar{ i(window.netscape{ tr{ netscape.security.PrivilegeManager.enablePrivilege(\"UniversalXPConnect\") catch(e{ alert(\"该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输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\') } }
加载样式文件
functioLoadStyle(url{ tr{ document.createStyleSheet(url) catch(e{ vacssLindocument.createElement(\'link\'); cssLink.re\'stylesheet\'; cssLink.typ\'text/css\'; cssLink.hreurl; vaheadocument.getElementsByTagName(\'head\')[]; head.appendChild(cssLink) } }
返回脚本内容
functioevalscript(s{ if(s.indexOf(\'<script\'=-returs; va/<script[^\\>]*?>([^\\x]*?)<\\/script>/ig; vaar[]; while(arp.exec(s){ vap/<script[^\\>]*?src=\\\"([^\\>]*?)\\\"[^\\>]*?(reload=\\\"\\\")?(?:charset=\\\"([\\w\\-]+?)\\\")?><\\/script>/i; vaarr[]; arrp.exec(arr[]); if(arr{ appendscript(arr[]\'\'arr[]arr[]); els{ p/<script(.*?)>([^\\x]+?)<\\/script>/i; arrp.exec(arr[]); appendscript(\'\'arr[]arr[].indexOf(\'reload=\'!-); } } returs; }
清除脚本内容
functiostripscript(s{ returs.replace(/<script.*?>.*?<\\/script>/ig\'\'); }
动态加载脚本文件
functioappendscript(srctextreloadcharset{ vaihash(srtext); if(!reloa&in_array(idevalscripts)return; if(reloa&$(id){ $(id).parentNode.removeChild($(id)); } evalscripts.push(id); vascriptNoddocument.createElement(\"script\"); scriptNode.typ\"text/javascript\"; scriptNode.iid; scriptNode.charsecharsecharse(BROWSER.firefodocument.characterSedocument.charset); tr{ if(src{ scriptNode.srsrc; scriptNode.onloadDonfalse; scriptNode.onloafunctio({ scriptNode.onloadDontrue; JSLOADED[src; }; scriptNode.onreadystatechangfunctio({ if((scriptNode.readyStat=\'loaded|scriptNode.readyStat=\'complete\'&!scriptNode.onloadDone{ scriptNode.onloadDontrue; JSLOADED[src; } }; elsif(text){ scriptNode.textext; } document.getElementsByTagName(\'head\')[].appendChild(scriptNode); catch(e{} }
返回按ID检索的元素对象
functio$(id{ retur!inuldocument.getElementById(id); }
跨浏览器绑定事件
functioaddEventSamp(obj,evt,fn){ if(!oTarget){return;} i(obj.addEventListener{ obj.addEventListener(evtfnfalse); }elsif(obj.attachEvent){ obj.attachEvent(\'on\'+evt,fn); }else{ oTarget[\"onsEvtTypefn; } }
跨浏览器删除事件
functiodelEvt(obj,evt,fn){ if(!obj){return;} if(obj.addEventListener){ obj.addEventListener(evt,fn,false); }elsif(oTarget.attachEvent){ obj.attachEvent(\"onevt,fn); }else{ obj[\"onevtfn; } }
为元素添加on方法
Element.prototype.oElement.prototype.addEventListener; NodeList.prototype.ofunctio(eventfn{、 [][\'forEach\'].call(thisfunctio(el{ el.on(eventfn); }); returthis; };
为元素添加trigger方法
Element.prototype.triggefunctio(typedata{ vaevendocument.createEvent(\'HTMLEvents\'); event.initEvent(typetruetrue); event.datdat|{}; event.eventNamtype; event.targethis; this.dispatchEvent(event); returthis; }; NodeList.prototype.triggefunctio(event{ [][\'forEach\'].call(thisfunctio(el{ el[\'trigger\'](event); }); returthis; };
检验URL链接是否有效
functiogetUrlState(URL){ vaxmlhttneActiveXObject(\"microsoft.xmlhttp\"); xmlhttp.Open(\"GET\",URLfalse); try{ xmlhttp.Send(); }catch(e){ }finally{ varesulxmlhttp.responseText; if(result){ if(xmlhttp.Status==){ return(true); }else{ return(false); } }else{ return(false); } } }
格式化CSS样式代码
.functioformatCss(s){//格式化代码 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样式代码
functiocompressCs(s{//压缩代码 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[]; }
获取当前路径
vacurrentPageUr\"\"; i(typeothis.hre==\"undefined\"{ currentPageUrdocument.location.toString().toLowerCase(); }els{ currentPageUrthis.href.toString().toLowerCase(); }
判断是否移动设备
functioisMobile(){ i(typeothis._isMobil==\'boolean\'){ returthis._isMobile; } vascreenWidtthis.getScreenWidth(); vafixViewPortsExperimenrendererModel.runningExperiments.FixViewpor||rendererModel.runningExperiments.fixviewport; vafixViewPortsExperimentRunninfixViewPortsExperimen&(fixViewPortsExperiment.toLowerCase(==\"new\"); if(!fixViewPortsExperiment){ if(!this.isAppleMobileDevice()){ screenWidtscreenWidth/window.devicePixelRatio; } } vaisMobileScreenSizscreenWidt; vaisMobileUserAgenfalse; this._isMobilisMobileScreenSiz&this.isTouchScreen(); returthis._isMobile; }
判断是否移动设备访问
functioisMobileUserAgent(){ retur(/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase())); }
判断是否苹果移动设备访问
functioisAppleMobileDevice(){ retur(/iphone|ipod|ipad|Macintosh/i.test(navigator.userAgent.toLowerCase())); }
判断是否安卓移动设备访问
functioisAndroidMobileDevice(){ retur(/android/i.test(navigator.userAgent.toLowerCase())); }
判断是否Touch屏幕
functioisTouchScreen(){ retur((\'ontouchstartiwindow|window.DocumentTouc&documeninstanceoDocumentTouch); }
判断是否打开视窗
functioisViewportOpen({ retur!!document.getElementById(\'wixMobileViewport\'); }
获取移动设备初始化大小
functiogetInitZoom(){ if(!this._initZoom){ vascreenWidtMath.min(screen.heightscreen.width); if(this.isAndroidMobileDevice(&!this.isNewChromeOnAndroid()){ screenWidtscreenWidth/window.devicePixelRatio; } this._initZooscreenWidt/document.body.offsetWidth; } returthis._initZoom; }
获取移动设备最大化大小
functiogetZoom(){ vascreenWidt(Math.abs(window.orientation==Math.max(screen.heightscreen.widthMath.min(screen.heightscreen.width); if(this.isAndroidMobileDevice(&!this.isNewChromeOnAndroid()){ screenWidtscreenWidth/window.devicePixelRatio; } vaFixViewPortsExperimenrendererModel.runningExperiments.FixViewpor|rendererModel.runningExperiments.fixviewport; vaFixViewPortsExperimentRunninFixViewPortsExperimen&(FixViewPortsExperimen==\"New|FixViewPortsExperimen==\"new\"); if(FixViewPortsExperimentRunning){ returscreenWidtwindow.innerWidth; }else{ returscreenWidtdocument.body.offsetWidth; } }
获取移动设备屏幕宽度
functiogetScreenWidth(){ vasmallerSidMath.min(screen.widthscreen.height); vafixViewPortsExperimenrendererModel.runningExperiments.FixViewpor|rendererModel.runningExperiments.fixviewport; vafixViewPortsExperimentRunninfixViewPortsExperimen&(fixViewPortsExperiment.toLowerCase(==\"new\"); if(fixViewPortsExperiment){ if(this.isAndroidMobileDevice(&!this.isNewChromeOnAndroid()){ smallerSidsmallerSide/window.devicePixelRatio; } } retursmallerSide; }
完美判断是否为网址
functioIsURL(strUrl{ varegula/^\\b(((https?|ftp):\\/\\/)?[-a-z-]+(\\.[-a-z-]+)*\\.(?:com|edu|gov|int|mil|net|org|biz|info|name|museum|asia|coop|aero|[a-z][a-z]|(([-])|([-]\\d)|(\\d\\d)|([-]\\d)|\\d))\\b(\\/[-a-z-_:\\@&?=+,.!\\/~%\\$]*)?)$/i i(regular.test(strUrl){ returtrue; }els{ returfalse; } } getElementsByClassName .functiogetElementsByClassName(name{ vatagdocument.getElementsByTagName(\'*\'|document.all; vael[]; fo(vatags.lengthi++{ i(tags.className{ vactags.className.split(\'); fo(vacs.lengthj++{ i(nam=cs[j]{ els.push(tags); break } } } } returels }
获取页面高度
functiogetPageHeight(){ vadocumentg.bodyg.documentElementg.compatMod=\"BackCompat\" a g.documentElement; returMath.max(f.scrollHeighta.scrollHeightd.clientHeight); }
获取页面scrollLeft
functiogetPageScrollLeft(){ vadocument; retura.documentElement.scrollLef|a.body.scrollLeft; }
获取页面可视宽度
functiogetPageViewWidth(){ vadocumentd.compatMod=\"BackCompat\" d.body d.documentElement; retura.clientWidth; }
获取页面宽度
functiogetPageWidth(){ vadocumentg.bodyg.documentElementg.compatMod=\"BackCompat\" a g.documentElement; returMath.max(f.scrollWidtha.scrollWidthd.clientWidth); }
获取页面scrollTop
functiogetPageScrollTop(){ vadocument; retura.documentElement.scrollTo|a.body.scrollTop; }
获取页面可视高度
functiogetPageViewHeight({ vadocumentd.compatMod=\"BackCompat\" d.body d.documentElement; retura.clientHeight; }
去掉url前缀
functioremoveUrlPrefix(a){ a=a.replace(/:/g,\":\").replace(/./g,\".\").replace(///g,\"/\"); while(trim(a).toLowerCase().indexOf(\"http://\")==){ a=trim(a.replace(/http:\\/\\//i,\"\")); } retura; }
随机数时间戳
functiouniqueId(){ vaa=Math.random,b=parseInt; returNumber(neDate()).toString()+b(*a())+b(*a())+b(*a()); }
全角半角转换
//iCase全到半,半到全,其他不转化 functiochgCase(sStr,iCase){ if(typeosSt!\"string|sStr.lengt<|!(iCas==|iCas=)){ retursStr; } vai,oRs=[],iCode; if(iCase){/*半->全*/ for(i=i<sStr.length;i+=){ iCodsStr.charCodeAt(i); if(iCod=){ iCod; }elsif(iCod){ iCod+; } oRs.push(String.fromCharCode(iCode)); } }else{/*全->半*/ for(i=i<sStr.length;i+=){ iCodsStr.charCodeAt(i); if(iCod=){ iCod; }elsif(iCod&iCod){ iCod-; } oRs.push(String.fromCharCode(iCode)); } } returoRs.join(\"\"); }
确认是否键盘有效输入值
functiocheckKey(iKey){ if(iKe=|iKe=){returtrue;}/*空格和异常*/ if(iKey>&iKe){returtrue;}/*数字*/ if(iKey>&iKe){returtrue;}/*字母*/ if(iKey>&iKe){returtrue;}/*数字键盘*/ if(iKey>&iKe){returtrue;}/*数字键盘*/ if(iKey>&iKe){returtrue;}/*符号*/ if(iKey>&iKe){returtrue;}/*符号*/ returfalse; }
获取网页被卷去的位置
functiogetScrollXY({ returdocument.body.scrollTo{ xdocument.body.scrollLeft, ydocument.body.scrollTop }{ xdocument.documentElement.scrollLeft, ydocument.documentElement.scrollTop } }
日期格式化函数+调用方法
Date.prototype.formafunction(format){ va{ \"M+this.getMonth()+//month \"d+this.getDate()//day \"h+this.getHours()//hour \"m+this.getMinutes()//minute \"s+this.getSeconds()//second \"q+Math.floor((this.getMonth()+)/)//quarter \"Sthis.getMilliseconds(//millisecond }; if(/(y+)/.test(format)format=format.replace(RegExp.$, (this.getFullYear()+\"\").substr(RegExp.$.length)); for(vaio){ if(neRegExp(\"(\"+\")\").test(format)) formaformat.replace(RegExp.$,RegExp.$.length==o[k:(\"\"o[k]).substr((\"\"o[k]).length)); } returformat; } alert(neDate().format(\"yyyy-MM-dhh:mm:ss\"));
时间个性化输出功能
./* .、s显示为“刚刚” .、>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<GETs.length;i++){ tmp_arGETs.split(\"=\") key=tmp_arr[] GET[keytmp_arr[] } } returquerystr[]; .} 打开一个窗体通用方法 .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[],,a,,,;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; }
本文地址:https://www.stayed.cn/item/3788
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我