100个不能错过的实用JS自定义函数(4)


function getUrlState(URL){
  var xmlhttp = new ActiveXObject("microsoft.xmlhttp");
  xmlhttp.Open("GET",URL, false);
  try{
    xmlhttp.Send();
  }catch(e){
  }finally{
    var result = xmlhttp.responseText;
    if(result){
      if(xmlhttp.Status==200){
        return(true);
      }else{
        return(false);
      }
    }else{
      return(false);
    }
  }
}


25、原生JavaScript格式化CSS样式代码

复制代码 代码如下:


function formatCss(s){//格式化代码
  s = s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1");
  s = s.replace(/;\s*;/g, ";"); //清除连续分号
  s = s.replace(/\,[\s\.\#\d]*{/g, "{");
  s = s.replace(/([^\s])\{([^\s])/g, "$1 {\n\t$2");
  s = s.replace(/([^\s])\}([^\n]*)/g, "$1\n}\n$2");
  s = s.replace(/([^\s]);([^\s\}])/g, "$1;\n\t$2");
  return s;
}


26、原生JavaScript压缩CSS样式代码

复制代码 代码如下:


function yasuoCss (s) {//压缩代码
  s = s.replace(/\/\*(.|\n)*?\*\//g, ""); //删除注释
  s = s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1");
  s = s.replace(/\,[\s\.\#\d]*\{/g, "{"); //容错处理
  s = s.replace(/;\s*;/g, ";"); //清除连续分号
  s = s.match(/^\s*(\S+(\s+\S+)*)\s*$/); //去掉首尾空白
  return (s == null) ? "" : s[1];
}


27、原生JavaScript获取当前路径

复制代码 代码如下:


var currentPageUrl = "";
if (typeof this.href === "undefined") {
    currentPageUrl = document.location.toString().toLowerCase();
}
else {
    currentPageUrl = this.href.toString().toLowerCase();
}


28、原生JavaScriptIP转成整型

复制代码 代码如下:


function _ip2int(ip){
    var num = 0;
    ip = ip.split(".");
    num = Number(ip[0]) * 256 * 256 * 256 + Number(ip[1]) * 256 * 256 + Number(ip[2]) * 256 + Number(ip[3]);
    num = num >>> 0;
    return num;
}


29、原生JavaScript整型解析为IP地址

复制代码 代码如下:


function _int2iP(num){
    var str;
    var tt = new Array();
    tt[0] = (num >>> 24) >>> 0;
    tt[1] = ((num << 8) >>> 24) >>> 0;
    tt[2] = (num << 16) >>> 24;
    tt[3] = (num << 24) >>> 24;
    str = String(tt[0]) + "." + String(tt[1]) + "." + String(tt[2]) + "." + String(tt[3]);
    return str;
}


30、原生JavaScript实现checkbox全选与全不选

复制代码 代码如下:


function checkAll() {
  var selectall = document.getElementById("selectall");
  var allbox = document.getElementsByName("allbox");
  if (selectall.checked) {
    for (var i = 0; i < allbox.length; i++) {
      allbox[i].checked = true;
    }
  } else {
    for (var i = 0; i < allbox.length; i++) {
      allbox[i].checked = false;
    }
  }
}

注:移动篇 (31~40)
31、原生JavaScript判断是否移动设备

复制代码 代码如下:


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;
}


32、原生JavaScript判断是否移动设备访问

复制代码 代码如下:


function isMobileUserAgent(){
  return (/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase()));
}


33、原生JavaScript判断是否苹果移动设备访问

复制代码 代码如下:


function isAppleMobileDevice(){
  return (/iphone|ipod|ipad|Macintosh/i.test(navigator.userAgent.toLowerCase()));
}


34、原生JavaScript判断是否安卓移动设备访问

复制代码 代码如下:


function isAndroidMobileDevice(){
  return (/android/i.test(navigator.userAgent.toLowerCase()));
}


35、原生JavaScript判断是否Touch屏幕

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdydzj.html