Zxhnext 我的前端之旅

JavaScript 常用方法总结

2017-06-27
Zxhnext
js

阅读量


1.手机类型判断

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.返回字符串长度,汉字计数为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;
}

3.获取url中的参数

function GetQueryStringRegExp(name,url) {
  var reg = new RegExp("(^|\?|&)" + name + "=([^&]*)(\s|&|$)", "i");
  if (reg.test(url)) return decodeURIComponent(RegExp.$2.replace(/+/g, " ")); return "";
} 

4.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);

5.获取当前点击事件的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;}; 

6.字符串截取方法

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;}  

7. 全选/全不选

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);
       }
   }

8. js判断浏览器

判断是否是 IE 浏览器if (document.all){
   alert(IE浏览器”);}else{
   alert(”非IE浏览器”);}if (!!window.ActiveXObject){
   alert(IE浏览器”);}else{
   alert(”非IE浏览器”);}判断是IEvar 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);}}

9.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;
           }
       }
   } 

10.移除事件

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;}} 

11.回车提交

$("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();}}

12.JS 执行计时器

timeStart = new Date().getTime();timesEnd = new Date().getTime();document.getElementById("time").innerHTML = timesEnd - timeStart;

相关链接: JavaScript中的定时控制-requestAnimationFrame应用

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;};  

14. 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}

15.获取当前时间

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;}

16. 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基础入门

下一篇 HTML5之Canvas

评论