<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        js中常用的操作方法總結(jié)(十七種)

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 19:32:23
        文檔

        js中常用的操作方法總結(jié)(十七種)

        js中常用的操作方法總結(jié)(十七種):本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于js中常用的操作方法總結(jié)(十七種),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。1、截取指定字節(jié)數(shù)的字符串/** * 截取指定字節(jié)的字符串 * @param str 要截取的字符穿 * @param len 要截取的長(zhǎng)度
        推薦度:
        導(dǎo)讀js中常用的操作方法總結(jié)(十七種):本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于js中常用的操作方法總結(jié)(十七種),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。1、截取指定字節(jié)數(shù)的字符串/** * 截取指定字節(jié)的字符串 * @param str 要截取的字符穿 * @param len 要截取的長(zhǎng)度

        本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于js中常用的操作方法總結(jié)(十七種),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。

        1、截取指定字節(jié)數(shù)的字符串

        /**
         * 截取指定字節(jié)的字符串
         * @param str 要截取的字符穿
         * @param len 要截取的長(zhǎng)度,根據(jù)字節(jié)計(jì)算
         * @param suffix 截取前l(fā)en個(gè)后,其余的字符的替換字符,一般用“…”
         * @returns {*}
         */
        function cutString(str, len, suffix) {
         if (!str) return "";
         if (len <= 0) return "";
         if (!suffix) suffix = "";
         var templen = 0;
         for (var i = 0; i < str.length; i++) {
         if (str.charCodeAt(i) > 255) {
         templen += 2;
         } else {
         templen++
         }
         if (templen == len) {
         return str.substring(0, i + 1) + suffix;
         } else if (templen > len) {
         return str.substring(0, i) + suffix;
         }
         }
         return str;
        }

        2、判斷是否微信

        /**
         * 判斷微信瀏覽器
         * @returns {Boolean}
         */
        function isWeiXin() {
         var ua = window.navigator.userAgent.toLowerCase();
         if (ua.match(/MicroMessenger/i) == 'micromessenger') {
         return true;
         } else {
         return false;
         }
        }

        3、獲取時(shí)間格式的幾個(gè)舉例

        function getTimeFormat(time) {
         var date = new Date(parseInt(time) * 1000);
         var month, day, hour, min;
         parseInt(date.getMonth()) + 1 < 10 ? month = '0' + (parseInt(date.getMonth()) + 1) : month = parseInt(date.getMonth()) + 1;
         date.getDate() < 10 ? day = '0' + date.getDate() : day = date.getDate();
         date.getHours() < 10 ? hour = '0' + date.getHours() : hour = date.getHours();
         date.getMinutes() < 10 ? min = '0' + date.getMinutes() : min = date.getMinutes();
         return [month, day].join('-') + ' ' + hour + ':' + min
        }
        
        function getTimeFormatYMD(time) {
         var date = new Date(parseInt(time) * 1000);
         var year, month, day;
         year = date.getFullYear();
         parseInt(date.getMonth()) + 1 < 10 ? month = '0' + (parseInt(date.getMonth()) + 1) : month = parseInt(date.getMonth()) + 1;
         date.getDate() < 10 ? day = '0' + date.getDate() : day = date.getDate();
         return [year, month, day].join('-')
        }
        
        function getTimeFormatAll(time) {
         var date = new Date(parseInt(time) * 1000);
         var year, month, day, hour, min, second;
         year = date.getFullYear();
         parseInt(date.getMonth()) + 1 < 10 ? month = '0' + (parseInt(date.getMonth()) + 1) : month = parseInt(date.getMonth()) + 1;
         date.getDate() < 10 ? day = '0' + date.getDate() : day = date.getDate();
         date.getHours() < 10 ? hour = '0' + date.getHours() : hour = date.getHours();
         date.getMinutes() < 10 ? min = '0' + date.getMinutes() : min = date.getMinutes();
         date.getSeconds() < 10 ? second = '0' + date.getSeconds() : second = date.getSeconds();
        
         return [year, month, day].join('-') + ' ' + hour + ':' + min + ':' + second
        }

        4、獲取字符串字節(jié)長(zhǎng)度

        /**
         * 獲取字符串字節(jié)長(zhǎng)度
         * @param {String}
         * @returns {Boolean}
         */
        function checkLength(v) {
         var realLength = 0;
         var len = v.length;
         for (var i = 0; i < len; i++) {
         var charCode = v.charCodeAt(i);
         if (charCode >= 0 && charCode <= 128) realLength += 1;
         else realLength += 2;
         }
         return realLength;
        }

        5、對(duì)象克隆、深拷貝

        /**
         * 對(duì)象克隆&深拷貝
         * @param obj
         * @returns {{}}
         */
        function cloneObj(obj) {
         var newO = {};
         if (obj instanceof Array) {
         newO = [];
         }
         for (var key in obj) {
         var val = obj[key];
         newO[key] = typeof val === 'object' ? arguments.callee(val) : val;
         }
         return newO;
        };

        克隆拷貝增強(qiáng)版

        /**
         * 對(duì)象克隆&深拷貝
         * @param obj
         * @returns {{}}
         */
        function clone(obj) {
         // Handle the 3 simple types, and null or undefined
         if (null == obj || "object" != typeof obj) return obj;
         // Handle Date
         if (obj instanceof Date) {
         var copy = new Date();
         copy.setTime(obj.getTime());
         return copy;
         }
         // Handle Array
         if (obj instanceof Array) {
         var copy = [];
         for (var i = 0,
         len = obj.length; i < len; ++i) {
         copy[i] = clone(obj[i]);
         }
         return copy;
         }
         // Handle Object
         if (obj instanceof Object) {
         var copy = {};
         for (var attr in obj) {
         if (obj.hasOwnProperty(attr)) copy[attr] = clone(obj[attr]);
         }
         return copy;
         }
         throw new Error("Unable to copy obj! Its type isn't supported.");
        }

        6、組織結(jié)構(gòu)代碼證驗(yàn)證

        驗(yàn)證規(guī)則:
        組織機(jī)構(gòu)代碼是每一個(gè)機(jī)關(guān)、社會(huì)團(tuán)體、企事業(yè)單位在全國(guó)范圍內(nèi)唯一的、始終不變的法定代碼標(biāo)識(shí)。最新使用的組織機(jī)構(gòu)代碼在1997年頒布實(shí)施,由8位數(shù)字(或大寫(xiě)拉丁字母)本體代碼和1位數(shù)字(或大寫(xiě)拉丁字母)校驗(yàn)碼組成。本體代碼采用系列(即分區(qū)段)順序編碼方法。校驗(yàn)碼按下列公式計(jì)算:8 C9 = 11 - MOD(∑Ci * Wi,11)… (2) i = 1其中:MOD——表示求余函數(shù);i——表示代碼字符從左到右位置序號(hào);Ci——表示第i位置上的代碼字符的值,采用附錄A“代碼字符集”所列字符;C9——表示校驗(yàn)碼;Wi——表示第i位置上的加權(quán)因子,其數(shù)值如下表:i 1 2 3 4 5 6 7 8 Wi 3 7 9 10 5 8 4 2當(dāng)MOD函數(shù)值為1(即C9 = 10)時(shí),校驗(yàn)碼用字母X表示。
        驗(yàn)證方法:

        checkOrgCodeValid: function(el) {
         var txtval = el.value;
         var values = txtval.split("-");
         var ws = [3, 7, 9, 10, 5, 8, 4, 2];
         var str = '01234567ABCDEFGHIJKLMNOPQRSTUVWXYZ';
         var reg = /^([0-9A-Z]){8}$/;
         if (!reg.test(values[0])) {
         return false
         }
         var sum = 0;
         for (var i = 0; i < 8; i++) {
         sum += str.indexOf(values[0].charAt(i)) * ws[i];
         }
         var C9 = 11 - (sum % 11);
         var YC9 = values[1] + '';
         if (C9 == 11) {
         C9 = '0';
         } else if (C9 == 10) {
         C9 = 'X';
         } else {
         C9 = C9 + '';
         }
         return YC9 == C9;
        }

        7.身份證號(hào)驗(yàn)證

        /**
         * 驗(yàn)證身份證號(hào)
         * @param el 號(hào)碼輸入input
         * @returns {boolean}
         */
        function checkCardNo(el) {
         var txtval = el.value;
         var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
         return reg.test(txtval)
        }

        8.js正則為url添加http標(biāo)識(shí)

        <!DOCTYPE html>
        <html>
        <head>
         <meta charset="utf-8">
         <meta name="renderer" content="webkit">
         <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
         <title></title>
         <script>
         var html = 'http:/ / www.google.com ';
         html += '\rwww.google.com ';
         html += '\rcode.google.com ';
         html += '\rhttp: //code.google.com/hosting/search?q=label%3aPython';
         var regex = /(https?:\/\/)?(\w+\.?)+(\/[a-zA-Z0-9\?%=_\-\+\/]+)?/gi;
         alert('before replace:');
         alert(html);
         html = html.replace(regex,
         function(match, capture) {
         if (capture) {
         return match
         } else {
         return 'http://' + match;
         }
         });
         alert('after replace:');
         alert(html); 
         </script>
        </head>
        <body> 
        </body>
        </html>

        9.URL有效性校驗(yàn)方法

        /**
         * URL有效性校驗(yàn)
         * @param str_url
         * @returns {boolean}
         */
        function isURL(str_url) { 
         // 驗(yàn)證url
         var strRegex = "^((https|http|ftp|rtsp|mms)?://)" + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" // 
         ftp的user@ + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
         + "|" // 允許IP和DOMAIN(域名)
         + "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
         + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二級(jí)域名
         + "[a-z]{2,6})" // first level domain- .com or .museum
         + "(:[0-9]{1,4})?" // 端口- :80
         + "((/?)|" // a slash isn't required if there is no file name
         + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
         var re = new RegExp(strRegex);
         return re.test(str_url);
        }
        // 建議的正則
        functionisURL(str) {
         return !! str.match(/(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/g);
        }

        10.自定義jsonp方法

        /**
         * 自定義封裝jsonp方法
         * @param options
         */
        jsonp = function(options) {
         options = options || {};
         if (!options.url || !options.callback) {
         throw new Error("參數(shù)不合法");
         }
         //創(chuàng)建 script 標(biāo)簽并加入到頁(yè)面中
         var callbackName = ('jsonp_' + Math.random()).replace(".", "");
         var oHead = document.getElementsByTagName('head')[0];
         options.data[options.callback] = callbackName;
         var params = formatParams(options.data);
         var oS = document.createElement('script');
         oHead.appendChild(oS);
         //創(chuàng)建jsonp回調(diào)函數(shù)
         window[callbackName] = function(json) {
         oHead.removeChild(oS);
         clearTimeout(oS.timer);
         window[callbackName] = null;
         options.success && options.success(json);
         };
         //發(fā)送請(qǐng)求
         oS.src = options.url + '?' + params;
         //超時(shí)處理
         if (options.time) {
         oS.timer = setTimeout(function() {
         window[callbackName] = null;
         oHead.removeChild(oS);
         options.fail && options.fail({
         message: "超時(shí)"
         });
         },
         time);
         }
        };
        /**
         * 格式化參數(shù)
         * @param data
         * @returns {string}
         */
        formatParams = function(data) {
         var arr = [];
         for (var name in data) {
         arr.push(encodeURIComponent(name) + '=' + encodeURIComponent(data[name]));
         }
         return arr.join('&');
        }

        11.cookie操作

        //寫(xiě)cookies
        setCookie = function(name, value, time) {
         var strsec = getsec(time);
         var exp = new Date();
         exp.setTime(exp.getTime() + strsec * 1);
         document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
        }
        //cookie操作輔助函數(shù)
        getsec = function(str) {
         var str1 = str.substring(1, str.length) * 1;
         var str2 = str.substring(0, 1);
         if (str2 == "s") {
         return str1 * 1000;
         } else if (str2 == "h") {
         return str1 * 60 * 60 * 1000;
         } else if (str2 == "d") {
         return str1 * 24 * 60 * 60 * 1000;
         }
        }
        //讀取cookies
        getCookie = function(name) {
         var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
         if (arr = document.cookie.match(reg)) return (arr[2]);
         else return null;
        }
        
        //刪除cookies
        delCookie = function(name) {
         var exp = new Date();
         exp.setTime(exp.getTime() - 1);
         var cval = getCookie(name);
         if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
        }

        12.生成隨機(jī)字符串 (可指定長(zhǎng)度)

        /**
         * 生成隨機(jī)字符串(可指定長(zhǎng)度)
         * @param len
         * @returns {string}
         */
        randomString = function(len) {
         len = len || 8;
         var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
         /****默認(rèn)去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
         var maxPos = $chars.length;
         var pwd = '';
         for (var i = 0; i < len; i++) {
         pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
         }
         return pwd;
        }

        13.瀏覽器判斷

        function parseUA() {
         var u = navigator.userAgent;
         var u2 = navigator.userAgent.toLowerCase();
         return { //移動(dòng)終端瀏覽器版本信息
         trident: u.indexOf('Trident') > -1,
         //IE內(nèi)核
         presto: u.indexOf('Presto') > -1,
         //opera內(nèi)核
         webKit: u.indexOf('AppleWebKit') > -1,
         //蘋(píng)果、谷歌內(nèi)核
         gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
         //火狐內(nèi)核
         mobile: !!u.match(/AppleWebKit.*Mobile.*/),
         //是否為移動(dòng)終端
         ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
         //ios終端
         android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
         //android終端或uc瀏覽器
         iPhone: u.indexOf('iPhone') > -1,
         //是否為iPhone或者QQHD瀏覽器
         iPad: u.indexOf('iPad') > -1,
         //是否iPad
         webApp: u.indexOf('Safari') == -1,
         //是否web應(yīng)該程序,沒(méi)有頭部與底部
         iosv: u.substr(u.indexOf('iPhone OS') + 9, 3),
         weixin: u2.match(/MicroMessenger/i) == "micromessenger",
         ali: u.indexOf('AliApp') > -1,
         };
        }
        var ua = parseUA();
        if (!ua.mobile) {
         location.href = './pc.html';
        }

        14.Rem移動(dòng)端適配

        var rem = {
         baseRem: 40,
         // 基準(zhǔn)字號(hào),按照iphone6應(yīng)該為20,此處擴(kuò)大2倍,便于計(jì)算
         baseWidth: 750,
         // 基準(zhǔn)尺寸寬,此處是按照ihpone6的尺寸
         rootEle: document.getElementsByTagName("html")[0],
         initHandle: function() {
         this.setRemHandle();
         this.resizeHandle();
         },
         setRemHandle: function() {
         var clientWidth = document.documentElement.clientWidth || document.body.clientWidth;
         this.rootEle.style.fontSize = clientWidth * this.baseRem / this.baseWidth + "px";
         },
         resizeHandle: function() {
         var that = this;
         window.addEventListener("resize",
         function() {
         setTimeout(function() {
         that.setRemHandle();
         },
         300);
         });
         }
        };
        rem.initHandle();

        15.獲取url后參數(shù)

        function GetRequest() {
         var url = location.search; //獲取url中"?"符后的字串
         var theRequest = new Object();
         if (url.indexOf("?") != -1) {
         var str = url.substr(1);
         strs = str.split("&");
         for (var i = 0; i < strs.length; i++) {
         theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
         }
         }
         return theRequest;
        }

        16.動(dòng)態(tài)加載JS

        function loadScript(url, callback) {
         var script = document.createElement("script");
         script.type = "text/";
         if (typeof(callback) != "undefined") {
         if (script.readyState) {
         script.onreadystatechange = function() {
         if (script.readyState == "loaded" || script.readyState == "complete") {
         script.onreadystatechange = null;
         callback();
         }
         };
         } else {
         script.onload = function() {
         callback();
         };
         }
         }
         script.src = url;
         document.body.appendChild(script);
        }

        17.生成隨機(jī)顏色值

        function getRandomColor () {
         const rgb = []
         for (let i = 0 ; i < 3; ++i){
         let color = Math.floor(Math.random() * 256).toString(16)
         color = color.length == 1 ? '0' + color : color
         rgb.push(color)
         }
         return '#' + rgb.join('')
        }

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        js中常用的操作方法總結(jié)(十七種)

        js中常用的操作方法總結(jié)(十七種):本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于js中常用的操作方法總結(jié)(十七種),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。1、截取指定字節(jié)數(shù)的字符串/** * 截取指定字節(jié)的字符串 * @param str 要截取的字符穿 * @param len 要截取的長(zhǎng)度
        推薦度:
        標(biāo)簽: 操作 方法 使用
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專題
        Top
        主站蜘蛛池模板: 一级毛片免费播放视频| 四虎AV永久在线精品免费观看| 亚洲网站在线免费观看| 女性无套免费网站在线看| 日本黄页网址在线看免费不卡| 国产香蕉九九久久精品免费| 亚洲暴爽av人人爽日日碰| 亚洲免费综合色在线视频| WWW国产亚洲精品久久麻豆| 国产精品亚洲а∨无码播放| 日韩精品福利片午夜免费观着| 一级毛片大全免费播放下载| 中文字幕在线观看亚洲| 一区国严二区亚洲三区| 一区二区三区免费视频播放器| 久久精品九九亚洲精品| 国产精品色拉拉免费看| 又长又大又粗又硬3p免费视频| 亚洲国产成人久久综合区| 一本久久A久久免费精品不卡| 亚洲电影免费观看| 亚洲精品国自产拍在线观看| h视频在线观看免费| 亚洲一级毛片在线观| 成人免费无码大片a毛片| 久久久久免费看黄a级试看| 国产亚洲蜜芽精品久久| 久久亚洲国产欧洲精品一| 91av在线免费视频| 亚洲另类无码专区首页| 亚洲av日韩av激情亚洲| 亚洲日韩涩涩成人午夜私人影院| 中国在线观看免费国语版| 成人片黄网站色大片免费观看APP| 亚洲AV噜噜一区二区三区| 亚洲人色大成年网站在线观看| 亚洲av手机在线观看| 毛片在线看免费版| 国产在线jyzzjyzz免费麻豆| 全免费a级毛片免费看| 黄色网页在线免费观看|