国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript常用工具方法封裝

2024-05-06 15:42:32
字體:
供稿:網(wǎng)友

因為工作中經(jīng)常用到這些方法,所有便把這些方法進(jìn)行了總結(jié)。

JavaScript

1. type 類型判斷

isString (o) { //是否字符串  return Object.prototype.toString.call(o).slice(8, -1) === 'String'}isNumber (o) { //是否數(shù)字  return Object.prototype.toString.call(o).slice(8, -1) === 'Number'}isBoolean (o) { //是否boolean  return Object.prototype.toString.call(o).slice(8, -1) === 'Boolean'}isFunction (o) { //是否函數(shù)  return Object.prototype.toString.call(o).slice(8, -1) === 'Function'}isNull (o) { //是否為null  return Object.prototype.toString.call(o).slice(8, -1) === 'Null'}isUndefined (o) { //是否undefined  return Object.prototype.toString.call(o).slice(8, -1) === 'Undefined'}isObj (o) { //是否對象  return Object.prototype.toString.call(o).slice(8, -1) === 'Object'}isArray (o) { //是否數(shù)組  return Object.prototype.toString.call(o).slice(8, -1) === 'Array'}isDate (o) { //是否時間  return Object.prototype.toString.call(o).slice(8, -1) === 'Date'}isRegExp (o) { //是否正則  return Object.prototype.toString.call(o).slice(8, -1) === 'RegExp'}isError (o) { //是否錯誤對象  return Object.prototype.toString.call(o).slice(8, -1) === 'Error'}isSymbol (o) { //是否Symbol函數(shù)  return Object.prototype.toString.call(o).slice(8, -1) === 'Symbol'}isPromise (o) { //是否Promise對象  return Object.prototype.toString.call(o).slice(8, -1) === 'Promise'}isSet (o) { //是否Set對象  return Object.prototype.toString.call(o).slice(8, -1) === 'Set'}isFalse (o) {  if (!o || o === 'null' || o === 'undefined' || o === 'false' || o === 'NaN') return true    return false}isTrue (o) {  return !this.isFalse(o)}isIos () {  var u = navigator.userAgent;  if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {//安卓手機    // return "Android";    return false  } else if (u.indexOf('iPhone') > -1) {//蘋果手機    // return "iPhone";    return true  } else if (u.indexOf('iPad') > -1) {//iPad    // return "iPad";    return false  } else if (u.indexOf('Windows Phone') > -1) {//winphone手機    // return "Windows Phone";    return false  }else{    return false  }}isPC () { //是否為PC端  var userAgentInfo = navigator.userAgent;  var Agents = ["Android", "iPhone",        "SymbianOS", "Windows Phone",        "iPad", "iPod"];  var flag = true;  for (var v = 0; v < Agents.length; v++) {    if (userAgentInfo.indexOf(Agents[v]) > 0) {      flag = false;      break;    }  }  return flag;}browserType(){  var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串  var isOpera = userAgent.indexOf("Opera") > -1; //判斷是否Opera瀏覽器  var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判斷是否IE瀏覽器  var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;  var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判斷是否IE的Edge瀏覽器   var isFF = userAgent.indexOf("Firefox") > -1; //判斷是否Firefox瀏覽器  var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1; //判斷是否Safari瀏覽器  var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1; //判斷Chrome瀏覽器  if (isIE) {    var reIE = new RegExp("MSIE (//d+//.//d+);");    reIE.test(userAgent);    var fIEVersion = parseFloat(RegExp["$1"]);    if(fIEVersion == 7) return "IE7"    else if(fIEVersion == 8) return "IE8";    else if(fIEVersion == 9) return "IE9";    else if(fIEVersion == 10) return "IE10";    else return "IE7以下"http://IE版本過低  }  if (isIE11) return 'IE11';  if (isEdge) return "Edge";  if (isFF) return "FF";  if (isOpera) return "Opera";  if (isSafari) return "Safari";  if (isChrome) return "Chrome";}checkStr (str, type) {  switch (type) {    case 'phone':  //手機號碼      return /^1[3|4|5|6|7|8|9][0-9]{9}$/.test(str);    case 'tel':   //座機      return /^(0/d{2,3}-/d{7,8})(-/d{1,4})?$/.test(str);    case 'card':  //身份證      return /(^/d{15}$)|(^/d{18}$)|(^/d{17}(/d|X|x)$)/.test(str);    case 'pwd':   //密碼以字母開頭,長度在6~18之間,只能包含字母、數(shù)字和下劃線      return /^[a-zA-Z]/w{5,17}$/.test(str)    case 'postal': //郵政編碼      return /[1-9]/d{5}(?!/d)/.test(str);    case 'QQ':   //QQ號      return /^[1-9][0-9]{4,9}$/.test(str);    case 'email':  //郵箱      return /^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$/.test(str);    case 'money':  //金額(小數(shù)點2位)      return /^/d*(?:/./d{0,2})?$/.test(str);    case 'URL':   //網(wǎng)址      return /(http|ftp|https):////[/w/-_]+(/.[/w/-_]+)+([/w/-/.,@?^=%&:/~/+#]*[/w/-/@?^=%&/~/+#])?/.test(str)    case 'IP':   //IP      return /((?:(?:25[0-5]|2[0-4]//d|[01]?//d?//d)//.){3}(?:25[0-5]|2[0-4]//d|[01]?//d?//d))/.test(str);    case 'date':  //日期時間      return /^(/d{4})/-(/d{2})/-(/d{2}) (/d{2})(?:/:/d{2}|:(/d{2}):(/d{2}))$/.test(str) || /^(/d{4})/-(/d{2})/-(/d{2})$/.test(str)    case 'number': //數(shù)字      return /^[0-9]$/.test(str);    case 'english': //英文      return /^[a-zA-Z]+$/.test(str);    case 'chinese': //中文      return /^[/u4E00-/u9FA5]+$/.test(str);    case 'lower':  //小寫      return /^[a-z]+$/.test(str);    case 'upper':  //大寫      return /^[A-Z]+$/.test(str);    case 'HTML':  //HTML標(biāo)記      return /<("[^"]*"|'[^']*'|[^'">])*>/.test(str);    default:      return true;  }  // 嚴(yán)格的身份證校驗  isCardID(sId) {    if (!/(^/d{15}$)|(^/d{17}(/d|X|x)$)/.test(sId)) {      alert('你輸入的身份證長度或格式錯誤')      return false    }    //身份證城市    var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"內(nèi)蒙古",21:"遼寧",22:"吉林",23:"黑龍江",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北",43:"湖南",44:"廣東",45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"云南",54:"西藏",61:"陜西",62:"甘肅",63:"青海",64:"寧夏",65:"新疆",71:"臺灣",81:"香港",82:"澳門",91:"國外"};    if(!aCity[parseInt(sId.substr(0,2))]) {       alert('你的身份證地區(qū)非法')      return false    }    // 出生日期驗證    var sBirthday=(sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2))).replace(/-/g,"/"),      d = new Date(sBirthday)    if(sBirthday != (d.getFullYear()+"/"+ (d.getMonth()+1) + "/" + d.getDate())) {      alert('身份證上的出生日期非法')      return false    }    // 身份證號碼校驗    var sum = 0,      weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2],      codes = "10X98765432"    for (var i = 0; i < sId.length - 1; i++) {      sum += sId[i] * weights[i];    }    var last = codes[sum % 11]; //計算出來的最后一位身份證號碼    if (sId[sId.length-1] != last) {       alert('你輸入的身份證號非法')      return false    }    return true  }}            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 精河县| 隆回县| 安泽县| 白玉县| 蛟河市| 怀柔区| 怀化市| 千阳县| 玉山县| 东源县| 通化市| 历史| 阜康市| 隆昌县| 婺源县| 博湖县| 南阳市| 河北区| 浑源县| 金阳县| 孟村| 青冈县| 黔西县| 宜良县| 平利县| 满洲里市| 桂林市| 保山市| 齐河县| 武义县| 诏安县| 安阳县| 山阴县| 华坪县| 湖州市| 外汇| 沙河市| 温泉县| 富宁县| 阳信县| 龙游县|