您好,欢迎访问一九零五行业门户网

JavaScript 常用方法总结

经常使用的 js 方法,今天记下,以便以后查询
/* 手机类型判断 */ var browserinfo = { useragent: navigator.useragent.tolowercase() isandroid: boolean(navigator.useragent.match(/android/ig)), isiphone: boolean(navigator.useragent.match(/iphone|ipod/ig)), isipad: boolean(navigator.useragent.match(/ipad/ig)), isweixin: boolean(navigator.useragent.match(/micromessenger/ig)), }
/* 返回字符串长度,汉子计数为2 */
function strlength(str) { var a = 0; for (var i = 0; i < str.length; i++) { if (str.charcodeat(i) > 255) a += 2;//按照预期计数增加2 else a++; } return a; }
获取url中的参数
function getquerystringregexp(name,url) { var reg = new regexp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i"); if (reg.test(url)) return decodeuricomponent(regexp.$2.replace(/\+/g, " ")); return ""; }
/* js 绑定事件 适用于任何浏览器的元素绑定 */
function eventbind(obj, eventtype, callback) { if (obj.addeventlistener) { obj.addeventlistener(eventtype, callback, false); } else if (window.attachevent) { obj.attachevent('on' + eventtype, callback); } else { obj['on' + eventtype] = callback; } }; eventbind(document, 'click', bodyclick);
/* 获得当前浏览器js的版本 */
function getjsversion(){ var n = navigator; var u = n.useragent; var apn = n.appname; var v = n.appversion; var ie = v.indexof('msie '); if (ie > 0){ apv = parseint(i = v.substring(ie + 5)); if (apv > 3) { apv = parsefloat(i); } } else { apv = parsefloat(v); } var isie = (apn == 'microsoft internet explorer'); var ismac = (u.indexof('mac') >= 0); var javascriptversion = "1.0"; if (string && string.prototype) { javascriptversion = '1.1'; if (javascriptversion.match) { javascriptversion = '1.2'; var tm = new date; if (tm.setutcdate) { javascriptversion = '1.3'; if (isie && ismac && apv >= 5) javascriptversion = '1.4'; var pn = 0; if (pn.toprecision) { javascriptversion = '1.5'; a = new array; if (a.foreach) { javascriptversion = '1.6'; i = 0; o = new object; tcf = new function('o', 'var e,i=0;try{i=new iterator(o)}catch(e){}return i'); i = tcf(o); if (i && i.next) { javascriptversion = '1.7'; } } } } } } return javascriptversion; }
/* 获取当前点击事件的object对象 */
function getevent() { if (document.all) { return window.event; //如果是ie } func = getevent.caller; while (func != null) { var arg0 = func.arguments[0]; if (arg0) { if ((arg0.constructor == event || arg0.constructor == mouseevent) || (typeof (arg0) == "object" && arg0.preventdefault && arg0.stoppropagation)) { return arg0; } } func = func.caller; } return null; };
/* 字符串截取方法 */
getcharacterslen: function (charstr, cutcount) { if (charstr == null || charstr == '') return ''; var totalcount = 0; var newstr = ''; for (var i = 0; i < charstr.length; i++) { var c = charstr.charcodeat(i); if (c < 255 && c > 0) { totalcount++; } else { totalcount += 2; } if (totalcount >= cutcount) { newstr += charstr.charat(i); break; } else { newstr += charstr.charat(i); } } return newstr; }
/* js 弹出新窗口全屏 */
var tmp = window.open("about:blank", "", "fullscreen=1") tmp.moveto(0, 0); tmp.resizeto(screen.width + 20, screen.height); tmp.focus(); tmp.location.href = 'http://www.che168.com/pinggu/eva_' + msgresult.message[0] + '.html'; var config_ = "left=0,top=0,width=" + (window.screen.width) + ",height=" + (window.screen.height); window.open('http://www.che168.com/pinggu/eva_' + msgresult.message[0] + '.html', "winhanle", config_); //模拟form提交打开新页面 var f = document.createelement("form"); f.setattribute('action', 'http://www.che168.com/pinggu/eva_' + msgresult.message[0] + '.html'); f.target = '_blank'; document.body.appendchild(f); f.submit();
/* 全选/全不选 */
function selectall(objselect) { if (objselect.checked == true) { $("input[name='chkid']").attr("checked", true); $("input[name='chkall']").attr("checked", true); } else if (objselect.checked == false) { $("input[name='chkid']").attr("checked", false); $("input[name='chkall']").attr("checked", false); } }
/* js 判断浏览器 */
判断是否是 ie 浏览器 if (document.all){ alert(”ie浏览器”); }else{ alert(”非ie浏览器”); } if (!!window.activexobject){ alert(”ie浏览器”); }else{ alert(”非ie浏览器”); } 判断是ie几 var isie=!!window.activexobject; var isie6=isie&&!window.xmlhttprequest; var isie8=isie&&!!document.documentmode; var isie7=isie&&!isie6&&!isie8; if (isie){ if (isie6){ alert(”ie6″); }else if (isie8){ alert(”ie8″); }else if (isie7){ alert(”ie7″); } }
/* 判断浏览器 */
function getos() { if (navigator.useragent.indexof("msie 8.0") > 0) { return "msie8"; } else if (navigator.useragent.indexof("msie 6.0") > 0) { return "msie6"; } else if (navigator.useragent.indexof("msie 7.0") > 0) { return "msie7"; } else if (isfirefox = navigator.useragent.indexof("firefox") > 0) { return "firefox"; } if (navigator.useragent.indexof("chrome") > 0) { return "chrome"; } else { return "other"; } }
/* js判断两个日期大小 适合 2012-09-09 与2012-9-9 两种格式的对比 */
//得到日期值并转化成日期格式,replace(/\-/g, "\/")是根据验证表达式把日期转化成长日期格式,这样再进行判断就好判断了 function validatedate() { var begindate = $("#t_datestart").val(); var enddate = $("#t_dateend").val(); if (begindate.length > 0 && enddate.length>0) { var sdate = new date(begindate.replace(/\-/g, "\/")); var edate= new date(enddate.replace(/\-/g, "\/")); if (sdate > edate) { alert('开始日期要小于结束日期'); return false; } } }
/* 移除事件 */
this.movebind = function (objid, eventtype, callback) { var obj = document.getelementbyid(objid); if (obj.removeeventlistener) { obj.removeeventlistener(eventtype, callback, false); } else if (window.detachevent) { obj.detachevent('on' + eventtype, callback); } else { obj['on' + eventtype] = null; } }
/* 回车提交 */
$("id").onkeypress = function (event) { event = (event) ? event : ((window.event) ? window.event : "") keycode = event.keycode ? event.keycode : (event.which ? event.which : event.charcode); if (keycode == 13) { $("submitlogin").onclick(); } }
/* js 执行计时器 */
timestart = new date().gettime(); timesend = new date().gettime(); document.getelementbyid("time").innerhtml = timesend - timestart;
/* js 写cookie */
function setcookie(name, value, expires, path, domain) { if (!expires) expires = -1; if (!path) path = "/"; var d = "" + name + "=" + value; var e; if (expires < 0) { e = ""; } else if (expires == 0) { var f = new date(1970, 1, 1); e = ";expires=" + f.toutcstring(); } else { var now = new date(); var f = new date(now.gettime() + expires * 1000); e = ";expires=" + f.toutcstring(); } var dm; if (!domain) { dm = ""; } else { dm = ";domain=" + domain; } document.cookie = name + "=" + value + ";path=" + path + e + dm; };
/* js 读cookie */
function readcookie(name) { var nameeq = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charat(0) == ' ') c = c.substring(1, c.length); if (c.indexof(nameeq) == 0) { return decodeuricomponent(c.substring(nameeq.length, c.length)) } } return null }
/* ajax 请求 */
c.ajax = function (args) { var self = this; this.options = { type: 'get', async: true, contenttype: 'application/x-www-form-urlencoded', url: 'about:blank', data: null, success: {}, error: {} }; this.getxmlhttp = function () { var xmlhttp; try { xmlhttp = new xmlhttprequest(); } catch (e) { try { xmlhttp = new activexobject("msxml2.xmlhttp"); } catch (e) { xmlhttp = new activexobject("microsoft.xmlhttp"); } } if (!xmlhttp) { alert('您的浏览器不支持ajax'); return false; } return xmlhttp; }; this.send = function () { c.each(self.options, function (key, val) { self.options[key] = (args[key] == null) ? val : args[key]; }); var xmlhttp = new self.getxmlhttp(); if (self.options.type.touppercase() == 'get') { xmlhttp.open(self.options.type, self.options.url + (self.options.data == null ? "" : ((/[?]$/.test(self.options.url) ? '&' : '?') + self.options.data)), self.options.async); } else { xmlhttp.open(self.options.type, self.options.url, self.options.async); xmlhttp.setrequestheader('content-length', self.options.data.length); } xmlhttp.setrequestheader('content-type', self.options.contenttype); xmlhttp.onreadystatechange = function () { if (xmlhttp.readystate == 4) { if (xmlhttp.status == 200 || xmlhttp.status == 0) { if (typeof self.options.success == 'function') self.options.success(xmlhttp.responsetext); xmlhttp = null; } else { if (typeof self.options.error == 'function') self.options.error('server status: ' + xmlhttp.status); } } }; xmlhttp.send(self.options.type.touppercase() == 'post' ? self.options.data.tostring() : null); }; this.send(); };
/* js stringbuilder 用法 */
function stringbuilder() { this.strings = new array; }; stringbuilder.prototype.append = function (str) { this.strings.push(str); }; stringbuilder.prototype.tostring = function () { return this.strings.join(''); };
/* js 加载到顶部loadjs */
function loadjs (url, fn) { var ss = document.getelementsbyname('script'), loaded = false; for (var i = 0, len = ss.length; i < len; i++) { if (ss[i].src && ss[i].getattribute('src') == url) { loaded = true; break; } } if (loaded) { if (fn && typeof fn != 'undefined' && fn instanceof function) fn(); return false; } var s = document.createelement('script'), b = false; s.setattribute('type', 'text/javascript'); s.setattribute('src', url); s.onload = s.onreadystatechange = function () { if (!b && (!this.readystate || this.readystate == 'loaded' || this.readystate == 'complete')) { b = true; if (fn && typeof fn != 'undefined' && fn instanceof function) fn(); } }; document.getelementsbytagname('head')[0].appendchild(s); }, bind: function (objid, eventtype, callback) { //适用于任何浏览器的绑定 var obj = document.getelementbyid(objid); if (obj.addeventlistener) { obj.addeventlistener(eventtype, callback, false); } else if (window.attachevent) { obj.attachevent('on' + eventtype, callback); } else { obj['on' + eventtype] = callback; } } function jsload (args) { s = document.createelement("script"); s.setattribute("type", "text/javascript"); s.setattribute("src", args.url); s.onload = s.onreadystatechange = function () { if (!s.readystate || s.readystate == "loaded" || s.readystate == "complete") { if (typeof args.callback == "function") args.callback(this, args); s.onload = s.onreadystatechange = null; try { s.parentnode && s.parentnode.removechild(s); } catch (e) { } } }; document.getelementsbytagname("head")[0].appendchild(s); }
/* 清空 loadjs 加载到顶部的js引用 */
function clearheadjs (src) { var js = document.getelementsbytagname('head')[0].children; var obj = null; for (var i = 0; i < js.length; i++) { if (js[i].tagname.tolowercase() == "script" && js[i].attributes['src'].value.indexof(src) > 0) { obj = js[i]; } } document.getelementsbytagname('head')[0].removechild(obj); };
/* js 替换非法字符主要用在密码验证上出现的特殊字符 */
function urlencode(sstr) { return escape(sstr).replace(/\+/g, '%2b').replace(/\"/g, '%22').replace(/\'/g, '%27').replace(/\//g, '%2f'); };
/* 按ctrl + entert 直接提交表单 */
document.body.onkeydown = function (evt) { evt = evt ? evt : (window.event ? window.event : null); if (13 == evt.keycode && evt.ctrlkey) { evt.returnvalue = false; evt.cancel = true; postdata(); } };
/* 获取当前时间 */
function getcurrentdate() { var d = new date(); var y = d.getyear()+1900; month = add_zero(d.getmonth() + 1), days = add_zero(d.getdate()), hours = add_zero(d.gethours()); minutes = add_zero(d.getminutes()), seconds = add_zero(d.getseconds()); var str = y + '-' + month + '-' + days + ' ' + hours + ':' + minutes + ':' + seconds; return str; }; function add_zero(temp) { if (temp < 10) return "0" + temp; else return temp; }
/* js 去掉空格方法: */
string.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); } string.prototype.ltrim = function() {return this.replace(/(^\s*)/g, "");} string.prototype.rtrim = function() {return this.replace(/(\s*$)/g, "");}
/* js 动态移除 head 里的 js 引用 */
this.clearheadjs = function (src) { var js = document.getelementsbytagname('head')[0].children; var obj = null; for (var i = 0; i < js.length; i++) { if (js[i].tagname.tolowercase() == "script" && js[i].attributes['src'].value.indexof(src) > 0) { obj = js[i]; } } document.getelementsbytagname('head')[0].removechild(obj); };
/* 整个ul 点击事件 加在ul里的onclick里 */
function createfrom(url, params) { var f = document.createelement("form"); f.setattribute("action", url); for (var i = 0; i < params.length; i++) { var input = document.createelement("input"); input.setattribute("type", "hidden"); input.setattribute("name", params[i].paramname); input.setattribute("value", params[i].paramvalue); f.appendchild(input); } f.target = "_blank"; document.body.appendchild(f); f.submit(); };
/* 判断浏览器使用的是哪个 js 版本 */
<script language="javascript"> var jsversion = 1.0; </script> <script language="javascript1.1"> jsversion = 1.1; </script> <script language="javascript1.2"> jsversion = 1.2; </script> <script language="javascript1.3"> jsversion = 1.3; </script> <script language="javascript1.4"> jsversion = 1.4; </script> <script language="javascript1.5"> jsversion = 1.5; </script> <script language="javascript1.6"> jsversion = 1.6; </script> <script language="javascript1.7"> jsversion = 1.7; </script> <script language="javascript1.8"> jsversion = 1.8; </script> <script language="javascript1.9"> jsversion = 1.9; </script> <script language="javascript2.0"> jsversion = 2.0; </script> alert(jsversion);
更多javascript 常用方法总结。
其它类似信息

推荐信息