~~~
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)),
}
~~~
~~~
/**
* 判斷是否移動設備
*/
function isMobile() {
if (typeof this._isMobile === 'boolean') {
return this._isMobile;
}
var screenWidth = this.getScreenWidth();
var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport
|| rendererModel.runningExperiments.fixviewport;
var fixViewPortsExperimentRunning = fixViewPortsExperiment
&& (fixViewPortsExperiment.toLowerCase() === "new");
if (!fixViewPortsExperiment) {
if (!this.isAppleMobileDevice()) {
screenWidth = screenWidth / window.devicePixelRatio;
}
}
var isMobileScreenSize = screenWidth < 600;
var isMobileUserAgent = false;
this._isMobile = isMobileScreenSize && this.isTouchScreen();
return this._isMobile;
}
~~~
~~~
/**
* 判斷是否移動設備訪問
*/
function isMobileUserAgent() {
return (/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i
.test(window.navigator.userAgent.toLowerCase()));
}
~~~
~~~
/**
* 判斷是否蘋果移動設備訪問
*/
function isAppleMobileDevice() {
return (/iphone|ipod|ipad|Macintosh/i.test(navigator.userAgent
.toLowerCase()));
}
~~~
~~~
/**
* 判斷是否安卓移動設備訪問
*/
function isAndroidMobileDevice() {
return (/android/i.test(navigator.userAgent.toLowerCase()));
}
~~~
~~~
/**
* 判斷是否Touch屏幕
*/
function isTouchScreen() {
return (('ontouchstart' in window) || window.DocumentTouch
&& document instanceof DocumentTouch);
}
~~~
~~~
/**
* 判斷是否在安卓上的谷歌瀏覽器
*/
function isNewChromeOnAndroid() {
if (this.isAndroidMobileDevice()) {
var userAgent = navigator.userAgent.toLowerCase();
if ((/chrome/i.test(userAgent))) {
var parts = userAgent.split('chrome/');
var fullVersionString = parts[1].split(" ")[0];
var versionString = fullVersionString.split('.')[0];
var version = parseInt(versionString);
if (version >= 27) {
return true;
}
}
}
return false;
}
~~~
- 前言
- 一、js一些常用的校驗
- 1.1、校驗是否為空(null/空串)
- 1.2、校驗是否為純數字
- 1.3、校驗是否為純數字(正則)
- 1.4、檢驗手機號
- 1.5、驗證座機號
- 1.6、校驗ip
- 1.7、檢驗url地址
- 1.8、檢驗身份證
- 1.9、檢驗郵箱
- 1.10、檢驗日期
- 1.11、檢驗金額
- 1.12、檢驗否是漢字
- 1.13、校驗數字的表達式
- 1.14、校驗字符的表達式
- 1.15、特殊需求表達式
- 1.16、檢測密碼強度
- 二、手機類型判斷
- 三、返回字符串長度,漢子計數為2
- 四、獲取url中的參數
- 五、js 綁定事件 適用于任何瀏覽器的元素綁定
- 六、獲得當前瀏覽器JS的版本
- 七、獲取當前點擊事件的Object對象
- 八、字符串截取方法
- 九、JS 彈出新窗口全屏
- 十、全選/全不選
- 十一、js 判斷瀏覽器
- 十二、JS判斷兩個日期大小
- 十三、移除事件
- 十四、回車提交
- 十五、JS 執行計時器
- 十六、JS 寫Cookie
- 十七、JS 讀Cookie
- 十八、Ajax 請求
- 十九、JS StringBuilder 用法
- 二十、JS 加載到頂部LoadJS
- 二十一、清空 LoadJS 加載到頂部的js引用
- 二十二、JS 替換非法字符
- 二十三、按Ctrl + Entert 直接提交表單
- 二十四、獲取當前時間
- 二十五、Js 去掉空格方法
- 二十六、js 動態移除 head 里的 js 引用
- 二十七、整個URL 點擊事件 加在URL里的onclick里
- 二十八、判斷瀏覽器使用的是哪個 JS 版本
- 二十九、加入收藏夾
- 三十、動態加載 CSS 樣式文件
- 三十一、返回腳本內容
- 三十二、清除腳本內容
- 三十三、返回按ID檢索的元素對象
- 三十四、顯示元素 待驗證
- 三十五、與insertBefore方法(已存在)對應的insertAfter方法
- 三十六、光標停在文字的后面,文本框獲得焦點時調用
- 三十七、檢驗URL鏈接是否有效
- 三十八、格式化CSS樣式代碼
- 三十九、壓縮CSS樣式代碼
- 四十、 獲取當前路徑
- 四十一、ip 轉 整型
- 四十二、整型解析為IP地址
- 四十三、刪除cookies
- 四十四、判斷是否以某個字符串結束
- 四十五、判斷是否以某個字符串開頭
- 四十六、根據樣式名稱檢索元素對象
- 四十七、 獲取移動設備初始化大小
- 四十八、 獲取移動設備最大化大小
- 四十九、獲取移動設備屏幕寬度
- 五十、獲取頁面scrollLeft
- 六十、獲取頁面寬度
- 六十一、獲取頁面scrollTop
- 六十二、獲取頁面可視高度
- 六十三、判斷數組元素是否重復
- 六十四、生成隨機數
- 六十五、數組去重
- 六十六、深度拷貝對象
- 六十七、全部替換replaceAll
- 六十八、阻止冒泡
- 六十九、返回頂部
- 七十、jsonp跨域請求
- 七十一、到某一個時間的倒計時
- 七十二、清除對象中值為空的屬性
- 七十三、獲取文件后綴名的方法
- 七十四、判斷一個對象是不是數組類型
- 七十五、冒泡排序
- 七十六、實現一個最簡單的模板引擎
- 七十七、數組最大值最小值
- 七十八、數組求和,平均值
- 七十九、從數組中隨機獲取元素
- 八十、返回對應元素在數組中的下標
- 八十一、返回數組(字符串)一個元素出現的次數
- 八十二、得到n1-n2下標的數組,即返回數組下標arr[n1]到數組arr[n2]的值
- 八十三、篩選數組,這里所做的就只是刪除相應的數組
- 八十四、去除字符串空格
- 八十五、字母大小寫切換
- 八十六、字符串循環復制,前面的要循環的字符串,后面的要循環的次數
- 八十七、字符串替換,這里的要替換的字符串必須是連續的
- 八十九、將時間戳轉換成日期格式
- 九十、檢驗字符串是否超過某個值,超出出現省略號
- 九十一、隨機碼,這里的參數count必須是 2 ~ 36 之間的整數
- 九十二、查找字符串中某字符出現的次數
- 九十三、JS插入排序
- 九十四、獲取前num天的日期
- 九十五、js實時計算rem,寬度大于1920px時1rem=100px
- 九十六、原生JS獲取鼠標XY軸的值
- 九十七、轉成XML對象
- 九十八、Js身份證驗證函數
- 九十九、格式化數字串
- 一百、原生Ajax 請求
- 一百零一、兩條直角邊算角度
- 一百零二、禁止readonly和disabled的input退格鍵返回上一頁
- 一百零三、生成隨機字母字符串
- 一百零四、float偏移處理
- 一百零五、根據月份獲取起止時間戳
- 一百零六、工具函數對象書寫例子,可自己擴展
- 一百零七、js字符串壓縮算法與解壓
- 一百零八、指定數組元素排序(正序倒序)
- 一百零九、js所有的內置方法