var ua = navigator.userAgent.toLowerCase(), BrowserInfo = { // 安卓 isAndroid: Boolean(ua.match(/android/g)), // iphone手机 isIphone: Boolean(ua.match(/iphone|ipod/g)), // ipad isIpad: Boolean(ua.match(/ipad/g)), // 微信 isWeixin: Boolean(ua.match(/MicroMessenger/g)), }
返回字符串长度,汉子计数为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中的参数
/** * 公共方法定义 * @example: http://xxx.com/a.do?name=zhangsan * 输出: getParameter('name') // 'zhangsan' */ var getParameter = function(param, url) { var reg = new RegExp('[&,?,&]' + param + '=([^\\&]*)', 'i'), value = reg.exec(decodeURIComponent(decodeURIComponent(url || location.search || location.hash))); return value ? value[1] : ''; }
js 绑定事件 适用于任何浏览器的元素绑定
function eventBind(obj, eventType, callBack) { // w3c if (obj.addEventListener) { obj.addEventListener(eventType, callBack, false); // 低版本ie }else if (window.attachEvent) { obj.attachEvent('on' + eventType, callBack); }else { obj['on' + eventType] = callBack; } }; eventBind(document, 'click', bodyClick);
移除事件
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; } }
获取当前点击事件的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; };
字符串截取方法
var 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 判断浏览器
判断是否是 IE 浏览器
if (document.all || !!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() { var ua = navigator.userAgent; if (ua.indexOf("MSIE 8.0") > 0) { return "MSIE8"; }else if (ua.indexOf("MSIE 6.0") > 0) { return "MSIE6"; }else if (ua.indexOf("MSIE 7.0") > 0) { return "MSIE7"; }else if (isFirefox = ua.indexOf("Firefox") > 0) { return "Firefox"; } if (ua.indexOf("Chrome") > 0) { return "Chrome"; }else { return "Other"; } }
JS判断两个日期大小
//得到日期值并转化成日期格式 //replace(/\-/g, "\/")是根据验证表达式把日期转化成长日期格式 //这样再进行判断就好判断了 function ValidateDate(beginDate,endDate) { if (beginDate.length > 0 && endDate.length>0) { var sDate = new Date(beginDate.replace(/\-/g, "\/")); var eDate= new Date(endDate.replace(/\-/g, "\/")); if (sDate > eDate) { // 开始日期要小于结束日期 return false; } return true; } }
回车提交
document.getElementById("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) { // 提交操作 } }
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 请求
var 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 替换非法字符主要用在密码验证上出现的特殊字符
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(); } };
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, ""); }