摘要:通信移動端打電話移動端發(fā)送短信終端或者瀏覽器終端正則手機號碼電子郵箱刪除表情獲取用戶地理位置錯誤代碼用戶不允許地理定位無法獲取當(dāng)前位置操作超時未知錯誤數(shù)組去重調(diào)用使用
JS -- 通信
1、移動端打電話
window.location.href = ("tel:" + phone);
2、移動端發(fā)送短信--Android、iOS
var u = navigator.userAgent, app = navigator.appVersion; var isAndroid = u.indexOf("Android") > -1 || u.indexOf("Linux") > -1; // android終端或者uc瀏覽器 var isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端 //sms:10086?body=1008611 sms:10086&body=1008611 if(isAndroid == true) { window.location.href=("sms:10694006929598?body="+text); } else if(isiOS == true) { window.location.href=("sms:10694006929598&body="+text); }JS -- 正則
手機號碼
/^1(3[0-9]|4[57]|5[0-35-9]|7[0135678]|8[0-9])d{8}$/
電子郵箱
/^([a-z0-9_.-]+)@([da-z.-]+).([a-z.]{2,6})$/ /^[a-zd]+(.[a-zd]+)*@([da-z](-[da-z])?)+(.{1,2}[a-z]+)+$/
刪除 emoji 表情
str.replace(/[uD800-uDBFF][uDC00-uDFFF]/g,"");
獲取用戶地理位置
var x = document.getElementById("demo"); function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition, showError); } else { x.innerHTML = "Geolocation is not supported by this browser."; } } function showPosition(position) { x.innerHTML = "Latitude: " + position.coords.latitude + "
Longitude: " + position.coords.longitude; } function showError(error) { switch (error.code) { case error.PERMISSION_DENIED: x.innerHTML = "User denied the request for Geolocation." break; case error.POSITION_UNAVAILABLE: x.innerHTML = "Location information is unavailable." break; case error.TIMEOUT: x.innerHTML = "The request to get user location timed out." break; case error.UNKNOWN_ERROR: x.innerHTML = "An unknown error occurred." break; } }
錯誤代碼:
-Permission denied - 用戶不允許地理定位
-Position unavailable - 無法獲取當(dāng)前位置
-Timeout - 操作超時
-Unknown error - 未知錯誤
Array.prototype.unique_filterArray = Array.prototype.unique_filterArray || function(){ return this.filter(function(item, index, arr){ return arr.indexOf(item) === index; }); } Array.prototype.unique = function(){ var res = []; var json = {}; for(var i = 0; i < this.length; i++){ if(!json[this[i]]){ res.push(this[i]); json[this[i]] = 1; } } return res; }; arr.unique();//調(diào)用 Array.prototype.unique Array.prototype.remove = function(val) { var index = this.indexOf(val); if (index > -1) { this.splice(index, 1); } }; 使用JQ刪除某一項 -- arr.splice($.inArray(item,arr),1);JS -- 解析URI參數(shù)
*將GET參數(shù)按照鍵值對的形式輸出json
var str = "http://item.taobao.com/item.h...";*
function getUrl(str) { var data1=str.split("?")[1]; var result={}; if(data1.indexOf("&") > -1) { var bigArr=data1.split("&"); for(var a=0,b=bigArr.length;a
解析單個參數(shù)
function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } http://10.8.15.176:666/bindSuccess/coupons.html?values=uri1&gets=uri2&types=uri3 var values=getQueryString("values") ||300, gets=getQueryString("gets"), types=getQueryString("types");JS -- 實現(xiàn)數(shù)組迭代方法1、實現(xiàn)arr.forEach() IE8及以下不支持原生 Array.prototype.forEach
參考底部 Array.prototype.forEachif (!Array.prototype.forEach) { Array.prototype.forEach = function(callback, thisArg) { var T, k; if (this == null) { throw new TypeError("this is null or not defined"); } var O = Object(this); var len = O.length >>> 0; // 所有非數(shù)值轉(zhuǎn)換成0;所有大于等于 0 等數(shù)取整數(shù)部分 if (typeof callback !== "function") { throw new TypeError(callback + " is not a function"); } if (arguments.length > 1) { T = thisArg; } k = 0; while (k < len) { var kValue; if (k in O) { kValue = O[k]; callback.call(T, kValue, k, O); } k++; } }; }2、實現(xiàn)arr.filter()
參考底部 Array.prototype.filterif (!Array.prototype.filter){ Array.prototype.filter = function(func, thisArg) { "use strict"; if ( ! ((typeof func === "Function" || typeof func === "function") && this) ) throw new TypeError(); var len = this.length >>> 0, res = new Array(len), // preallocate array t = this, c = 0, i = -1; if (thisArg === undefined){ while (++i !== len){ // checks to see if the key was set if (i in this){ if (func(t[i], i, t)){ res[c++] = t[i]; } } } } else{ while (++i !== len){ // checks to see if the key was set if (i in this){ if (func.call(thisArg, t[i], i, t)){ res[c++] = t[i]; } } } } res.length = c; // shrink down array to proper size return res; }; }JS -- cookievar cookieUtil = {
get: function(name) { var cookieName = encodeURIComponent(name) + "=", cookieStart = document.cookie.indexOf(cookieName), cookieValue = null; if(cookieStart > -1) { var cookieEnd = document.cookie.indexOf(";", cookieStart); if(cookieEnd === -1) { cookieEnd = document.cookie.length; } cookieValue = decodeURIComponent(document.cookie.substring(cookieStart+cookieName.length, cookieEnd)); } return cookieValue; }, set: function(name, value, expires, path, domain, secure) { var cookieText = encodeURIComponent(name)+"="+encodeURIComponent(value); if(expires instanceof Date) { cookieText += "; expires=" + expires.toGMTString(); } else if(typeof expires === "number") { cookieText += "; expires=" + (new Date(expires*24*60*60*1000+Date.now())).toGMTString(); } (new Date(毫秒數(shù))).toGMTString() 7天后 (new Date(7*24*60*60*1000+Date.now())).toGMTString() if(path) { cookieText += "; path=" + path; } if(domain) { cookieText += "; domain=" + domain; } if(secure) { cookieText += "; secure"; } document.cookie = cookieText; }, unset: function(name, path, domain, secure) { this.set(name, "", new Date(0), path, domain, secure); }}
name: cookie唯一的名稱 cookie必須經(jīng)過URL編碼 不區(qū)分大小寫 實踐中最好當(dāng)作cookie區(qū)分大小寫
value: 字符串值 必須經(jīng)過URL編碼
expires: 失效時間 cookie何時被刪除的時間戳 默認(rèn)情況下會話結(jié)束立即將所有cookie刪除
path: 域 所有向該域的請求中都會包含cookie 可以包含子域名 也可以不包含
domain: 路徑 對于指定域中的那個路徑 應(yīng)該向服務(wù)器發(fā)送cookie
secure: 安全標(biāo)志 指定后,cookie只有在使用SSL連接時才會發(fā)送到服務(wù)器 是cookie中唯一一個非名值對的,直接包含secure
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/103007.html
摘要:常用模式片段之摘要第一次看到這個字眼是在中,即。之后也見到一些別人的代碼里有,它和頁面的有什么關(guān)系,以及和有何淵源。以前都見過這些詞,但都似懂非懂,今天查了些資料收集了些代碼,做個完整的理解。 CSS篇 常用模式片段之CSS布局篇 http://jsorz.cn/blog/2016/08/code-patterns-of-css-layout.html 摘要:position 拉伸性質(zhì)...
摘要:常用模式片段之摘要第一次看到這個字眼是在中,即。之后也見到一些別人的代碼里有,它和頁面的有什么關(guān)系,以及和有何淵源。以前都見過這些詞,但都似懂非懂,今天查了些資料收集了些代碼,做個完整的理解。 CSS篇 常用模式片段之CSS布局篇 http://jsorz.cn/blog/2016/08/code-patterns-of-css-layout.html 摘要:position 拉伸性質(zhì)...
摘要:在資源很多時,例如圖片的復(fù)制,這個會加快任務(wù)的執(zhí)行速度,特別是需要實時預(yù)覽時,減少延遲。但是作為個入門短時間內(nèi)還是不能夠被取代得了的。 gulp常用功能集合(開發(fā)和生產(chǎn)分離、靜態(tài)資源壓縮優(yōu)化、代碼優(yōu)化、實時預(yù)覽、hash) tags: gulp 前端自動化開發(fā) npm倉庫下載地址https://www.npmjs.com/package/cddgulp [TOC]本人自用在此基礎(chǔ)上的...
摘要:概述上一章講的是分離樣式,這一章講的是剩下的一些我常用的插件和上一章是沒有任何關(guān)系。環(huán)境搭建定義環(huán)境插件介紹這個插件用來定義環(huán)境變量的,直接定義在了下。安裝依賴添加資源修改配置打包其他更多配置請查閱關(guān)于資源源代碼 0x001 概述 上一章講的是分離樣式,這一章講的是剩下的一些我常用的插件,和上一章是沒有任何關(guān)系。 0x002 環(huán)境搭建 $ mkdir 0x0016-other-plug...
摘要:使用編輯器有一段時間一直沒找到比較順手的代碼片段補全于是決定自己整合一個全的于是便有了這個代碼片段包中包名叫有如下特性集成代碼補全集成中模塊的代碼補全集成中模塊的代碼補全集成集成中操作的代碼集成中和模塊的補全集成中代碼補全集成中集成中的 使用atom編輯器有一段時間,一直沒找到比較順手的代碼片段補全,于是決定自己整合一個全的,于是便有了這個代碼片段包,atom中包名叫 best-js-...
摘要:如果報表嵌在網(wǎng)頁的中,在外獲取對象如下常用方法方法說明獲取指定單元格中的控件獲取指定名字的控件獲取指定名稱的擴展控件,返回一個數(shù)組表單預(yù)覽或參數(shù)界面,都有一個對象。 上次介紹FineReport的JS API中的第一類開發(fā)--FR,這次就來介紹一下FS和contentWindow類的開發(fā)。1 FSFS是數(shù)據(jù)決策系統(tǒng)中的js接口,比如說FS.tabPane.addItem,先介紹幾類操作...
閱讀 1428·2021-11-22 15:24
閱讀 2519·2021-10-11 11:06
閱讀 2323·2021-10-09 09:45
閱讀 2525·2021-09-09 09:33
閱讀 634·2019-08-30 15:53
閱讀 1439·2019-08-30 12:48
閱讀 657·2019-08-29 13:47
閱讀 500·2019-08-26 18:27