1. 程式人生 > >28個JavaScript常用程式碼集合,前端老司機問你怕不怕!

28個JavaScript常用程式碼集合,前端老司機問你怕不怕!

所以今天分享給大家一些工作中更實用的內容 —— 28個常用的JavaScript程式碼,希望各位同學可以喜歡。

手機型別判斷

var BrowserInfo = {    
   userAgent: navigator.userAgent.toLowerCase()    isAndroid: Boolean(navigator.userAgent.match(/android/ig)),    isIphone: Boolean(navigator.userAgent.match(/iphone|ipod/ig)),    isIpad: Boolean(navigator.user
Agent.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;//按照預期計數增加2else    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, " ")); }

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判斷兩個日期大小 

//得到日期值並轉化成日期格式
//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;        }    } }

移除事件

            
           

相關推薦

28JavaScript常用程式碼集合前端司機不怕

所以今天分享給大家一些工作中更實用的內容 —— 28個常用的JavaScript程式碼,希望各位同學可以喜歡。 手機型別判斷 var BrowserInfo = {        userAgent: navigator.userAgent.toL

28JavaScript常用程式碼集合

手機型別判斷 var BrowserInfo = {        userAgent: navigator.userAgent.toLowerCase()    isAndroid: Boolean(navigator.userAgent.match(/andro

靚仔整合SpringBoot還在百度搜配置嗎?司機一招

## 導讀 - 最近陳某公司有些忙,為了保證文章的高質量可能要兩天一更了,在這裡陳某先說聲不好意思了!!! - 昨天有朋友問我SpringBoot如何整合Redis,他說百度谷歌搜尋了一遍感覺不太靠譜。我頓時驚呆了,原來你們整合SpringBoot都是上網搜尋配置的? - 今天陳某就讓小夥伴擺脫配置的困擾

【原創】面試時遇到『看門狗』脖子上掛著『時間輪』我就不怕

Redisson的看門狗和Netty的時間輪,瞭解一下?寫的過程中順便打了一下自己的臉。技術嘛,不就是在不斷打臉的過程中成長起來的嘛。 荒腔走板聊生活 大家好,一週的時間過的飛快,轉眼間又到週末了。 老規矩,還是本號特色,先是荒腔走板的聊聊生活。 上面的圖片是我在一次跑步的過程中拍的,一隻狗子。可以看到圖

過載和覆蓋的區別通過反射獲取泛型實際型別列舉要點常用集合類之間的區別和聯絡final總結

java面試碰到過的題目之方法過載和覆蓋的區別。 1. 過載方法必須滿足以下條件:  i. 方法名相同。 ii. 方法的引數型別、個數、順序至少有一項不同。 iii. 方法的返回型別可以不相同。 iv. 方法的修飾符可以不相同。 2. 重寫方法必須滿足以下條件:  i. 子

19 JavaScript 常用的簡寫技術

程序設計 javascript 印度人 1.三元操作符當想寫if...else語句時,使用三元操作符來代替。const x = 20;let answer;if (x > 10) { answer = ‘is greater‘;} else { answer = ‘is lesser‘;}簡

精心收集的 48 JavaScript 代碼片段僅需 30 秒就可理解

bsp ise fib 字符 結束時間 運算 ram 隨機數組 lba 原文:Chalarangelo 譯文:IT168 https://github.com/Chalarangelo/30-seconds-of-code#anagrams-of-string-with

精心收集的 48 JavaScript 代碼片段僅需 30 秒就可理解!(轉載)

mat fine 添加 pre case nag map tolower != Anagrams of string(帶有重復項) 使用遞歸。對於給定字符串中的每個字母,為字母創建字謎。使用map()將字母與每部分字謎組合,然後使用reduce()將所有字謎組合到一個數組中

精心收集的48javascript程式碼片段——Github分享

原文地址:https://github.com/Chalarangelo/30-seconds-of-code#anagrams-of-string-with-duplicates 1、Anagrams of string(帶有重複項) reduce() 方法接收一個函式作為累加器,陣

38電腦常用快捷鍵有需要的朋友趕緊來拿值得收藏一份

你是不是還在因為不熟練電腦操而煩惱嗎?那麼今天教大家38個電腦上常用的快捷鍵,這時候很多朋友會問:"人家一次分享快捷鍵都是七八十到一百多個,你就分享38個".其實電腦快捷鍵全部加在一起有幾百個,其實常用的快捷鍵也就那麼幾十個,有句話說的好東西不在多,在於它是實不實用! 好了閒話不多說下面為大家分

js常用程式碼片段常用功能

1. PC - js 返回指定範圍的隨機數(m-n之間)的公式 Math.random()*(n-m)+m return false return false // event.preventDefault()會阻擋預設要發生的事件. // ev

Java五常用集合類之間的區別和聯絡

常用的集合類有一下幾種:List結構的集合類:ArrayList類,LinkedList類,Vector類,Stack類Map結構的集合類:HashMap類,Hashtable類Set結構的集合類:HashSet類,TreeSet類Queue結構的集合:Queue介面Hash

【轉】【記錄】Java五常用集合類之間的區別和聯絡

常用的集合類有一下幾種: List結構的集合類:ArrayList類,LinkedList類,Vector類,Stack類 Map結構的集合類:HashMap類,Hashtable類 Set結構的集合類:HashSet類,TreeSet類 Queue結構的集合:Q

javascript常用程式碼片段

/** * * @desc 判斷兩個陣列是否相等 * @param {Array} arr1 * @param {Array} arr2 * @return {Boolean} */ function arrayEqual(arr1, arr2) { // 首先要判斷是否是陣列,傳進來的

28Java常用的工具類

package com.cucpay.tradeportal.util; import java.io.UnsupportedEncodingException; import java.lang.reflect.Field; import java.net.URLDeco

javascirpt網頁常用程式碼集合

1、oncontextmenu="window.event.returnvalue=false" 將徹底遮蔽滑鼠右鍵 2、<body onselectstart="return false"> 取消選取、防止複製 3、onpaste="return fals

C++常用程式碼(一)intstring等常見型別轉換

#ifndef GBK_H_ #define GBK_H_ #include <QString> #include <QTextCodec> #include <stri

JavaScript--常用程式碼小技巧

1. 型別強制轉換 1.1 string強制轉換為數字 可以用*1來轉化為數字(實際上是呼叫.valueOf方法),然後使用Number.isNaN來判斷是否為NaN,或者使用 a !== a 來判斷是否為NaN,因為 NaN !== NaN

真會玩劉強東搞了”豬臉識別“比賽冠軍獎單人能拿30萬

11月6日,隨著首屆“JDD-2017京東金融全球資料探索者大會”大幕拉開,備受關注的“JDD-2017京東金融全球資料探索者大賽”也終於揭曉,據小編了解,從即日起至11月20日,想參加JDD大賽的所有選手,無論你是哪個賽組,無論身處哪個賽區,均可通過官方網站:http

「珍藏」司機推薦10炫酷的開源庫看完的人都收藏了

前言 技術群裡面經常有人問到一些炫酷的UI效果實現方法,有時候我都是給一個相同或者相似效果的Github連結,有同學私信給我說,大佬,怎麼這些效果你都能找到?你是怎麼搜尋的,或者有其他什麼祕方?會利用Google、百度等搜尋工具搜尋是一方面,另一個重要的方面是:記錄蒐藏,當看到一個炫酷的效果的時候,記得