国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答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
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

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

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

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

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

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

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

/**
 * 截取指定字節(jié)的字符串
 * @param str 要截取的字符穿
 * @param len 要截取的長度,根據(jù)字節(jié)計算
 * @param suffix 截取前l(fā)en個后,其余的字符的替換字符,一般用“…”
 * @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、獲取時間格式的幾個舉例

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é)長度

/**
 * 獲取字符串字節(jié)長度
 * @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、對象克隆、深拷貝

/**
 * 對象克隆&深拷貝
 * @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;
};

克隆拷貝增強版

/**
 * 對象克隆&深拷貝
 * @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)代碼證驗證

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

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.身份證號驗證

/**
 * 驗證身份證號
 * @param el 號碼輸入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)識

<!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有效性校驗方法

/**
 * URL有效性校驗
 * @param str_url
 * @returns {boolean}
 */
function isURL(str_url) { 
 // 驗證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]\." // 二級域名
 + "[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)簽并加入到頁面中
 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ā)送請求
 oS.src = options.url + '?' + params;
 //超時處理
 if (options.time) {
 oS.timer = setTimeout(function() {
 window[callbackName] = null;
 oHead.removeChild(oS);
 options.fail && options.fail({
 message: "超時"
 });
 },
 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操作

//寫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.生成隨機字符串 (可指定長度)

/**
 * 生成隨機字符串(可指定長度)
 * @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 { //移動終端瀏覽器版本信息
 trident: u.indexOf('Trident') > -1,
 //IE內(nèi)核
 presto: u.indexOf('Presto') > -1,
 //opera內(nèi)核
 webKit: u.indexOf('AppleWebKit') > -1,
 //蘋果、谷歌內(nèi)核
 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
 //火狐內(nèi)核
 mobile: !!u.match(/AppleWebKit.*Mobile.*/),
 //是否為移動終端
 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)該程序,沒有頭部與底部
 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移動端適配

var rem = {
 baseRem: 40,
 // 基準(zhǔn)字號,按照iphone6應(yīng)該為20,此處擴大2倍,便于計算
 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.動態(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.生成隨機顏色值

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

文檔

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

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

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产日产欧美一区二区三区 | 中文字幕美日韩在线高清 | 精品国产欧美一区二区三区成人 | 黄色在线观看免费 | 欧美精品在线一区 | 高清在线一区二区 | 欧美在线精品一区二区三区 | 国产在线观看精品 | 99精品欧美一区二区三区综合在线 | 国产不卡在线观看 | 明星国产欧美日韩在线观看 | 国产精品毛片va一区二区三区 | 亚洲一区免费在线观看 | 欧美亚洲国产精品第一页 | 国产日韩在线观看视频网站 | 一边摸一边叫床一边爽 | 久久国产欧美 | 国产一区二区三区久久精品 | 美女一丝不佳一级毛片大屁股 | 国产在线视频一区二区三区 | 亚洲视频在线观看 | 韩日欧美 | 先锋影音制服丝袜 | 日韩欧美高清视频 | 色婷婷综合久久久久中文一区二区 | 国产精品资源在线观看 | 色综合天天娱乐综合网 | 91啪国自产在线高清观看 | 91精品国产91久久久久福利 | 成人亚洲国产综合精品91 | 欧美在线看欧美视频免费网站 | 欧美成人性色生活18黑人 | 亚洲一区二区在线成人 | 亚洲区欧美 | 国产成人精品aaaa视频一区 | 日韩电影免费在线观看视频 | 99国产精品一区二区 | 又黄又爽视频在线观看 | 久久久久久久国产精品毛片 | 国产欧美久久久精品影院 | 国产在视频 |