各种实用方法

下载文件

javascript 复制代码
 function  downloadUpload (url) {
      if ((/Trident\/7\./).test(navigator.userAgent) || (/Trident\/6\./).test(navigator.userAgent)) {
      // IE10/IE11
        var aLink = document.createElement('a')//创建a链接
        aLink.className = 'download_link'
        var text = document.createTextNode(' ')
        aLink.appendChild(text)
        aLink.href = url //将地址赋给a链接的href
        aLink.click() //点击a链接
      } else { // Chrome,Firefox
        var iframe = document.createElement('iframe')
        iframe.src = url
        iframe.style = 'display:none'
        document.body.appendChild(iframe)
      }
    }

下载文件

javascript 复制代码
  function  downloadGW() {
      let fileName = "xxx.docx";//自己文件的名字路径
      const a = document.createElement("a");//创建a链接
      const name = fileName || "";//文件名,带后缀
      a.href = fileName;//其实是给a链接赋值
      a.download = name;
      a.click();
      a.remove();
}

字符串获取数字和单位

javascript 复制代码
 function extractNumberAndUnit(str) {
  const regex =  /(-?\d+(\.\d+)?)\s*([a-zA-Z\u4e00-\u9fa5]+)?/;
  const match = str.match(regex);
  console.log(match,'match');
  if (match) {
      const number = match[1]? parseFloat(match[1]) : 0;
      const unit = match[3] || ''; // 如果单位不存在,则返回空字符串
      return { number, unit };
  } else {
      return { number:0, unit:'' }; // 如果没有找到匹配项,则返回null
  }
}

let a='1000米'
let number=extractNumberAndUnit(a).number='1000'
let unit=extractNumberAndUnit(a).unit='米'

从一个地址获取文件名

javascript 复制代码
function getFileNameFromUrl(url) {
  // 使用lastIndexOf方法找到最后一个'/'的位置
  var lastSlashIndex = url.lastIndexOf('/');
  // 如果找到了'/',则截取从最后一个'/'之后到字符串末尾的部分作为文件名
  if (lastSlashIndex !== -1) {
      return url.slice(lastSlashIndex + 1);
  }
  // 如果没有找到'/',则返回整个URL(虽然这通常不是文件名)
  return url;
}

let a='http://www.baidu.com/sisi/111.zip'
let filename=getFileNameFromUrl(a)='111.zip'

字符串变成json格式

javascript 复制代码
export function  formatJson(json) {
  try {
    const formattedJson = JSON.stringify(JSON.parse(json), null, 2);
    // return formattedJson
      return formattedJson.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
  } catch (e) {
      return json; 
  }
}

判断一个数组里的元素是否在一个字符串里(字符串是完整的,数组里的元素不完整)

javascript 复制代码
export function isMatch(array, string) {
  return array.some((item) => string.includes(item));
}

var a='sisi' let list=['si','aa','bb']
let bool=isMatch(list,a)=true

判断是否为空

javascript 复制代码
  function isEmpty(value) {
      return (
        Array.isArray(value) && value.length === 0 ||
        typeof value === 'string' && value.length === 0 ||
        value === null
      );
    }
相关推荐
white-persist6 分钟前
JWT 漏洞全解析:从原理到实战
前端·网络·python·安全·web安全·网络安全·系统安全
果粒chenl28 分钟前
React学习(四) --- Redux
javascript·学习·react.js
IT_陈寒37 分钟前
React 性能优化:5个实战技巧让首屏加载提升50%,开发者亲测有效!
前端·人工智能·后端
rising start1 小时前
前端基础一、HTML5
前端·html·html5
Never_Satisfied1 小时前
在JavaScript / HTML中,div容器在内容过多时不显示超出的部分
开发语言·javascript·html
鬼谷中妖1 小时前
JavaScript 循环与对象:深入理解 for、for...in、for...of、不可枚举属性与可迭代对象
前端
大厂码农老A1 小时前
你打的日志,正在拖垮你的系统:从P4小白到P7专家都是怎么打日志的?
java·前端·后端
im_AMBER1 小时前
CSS 01【基础语法学习】
前端·css·笔记·学习
DokiDoki之父1 小时前
前端速通—CSS篇
前端·css
pixle01 小时前
Web大屏适配终极方案:vw/vh + flex + clamp() 完美组合
前端·大屏适配·vw/vh·clamp·终极方案·web大屏