各种实用方法

下载文件

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
      );
    }
相关推荐
WTSolutions27 分钟前
Excel 转 JSON by WTSolutions API 文档
javascript
AverageJoe199127 分钟前
一次vite热更新不生效问题排查
前端·debug·vite
努力只为躺平29 分钟前
🔥 油猴脚本开发指南:从基础API到发布全流程
前端·javascript
bitbitDown31 分钟前
我用Playwright爬了掘金热榜,发现了这些有趣的秘密... 🕵️‍♂️
前端·javascript·vue.js
陈随易35 分钟前
VSCode v1.102发布,AI体验大幅提升
前端·后端·程序员
ma7739 分钟前
JavaScript 获取短链接原始地址的解决方案
前端
该用户已不存在39 分钟前
关于我把Mac Mini托管到机房,后续来了,还有更多玩法
服务器·前端·mac
tianchang43 分钟前
SSR 深度解析:从原理到实践的完整指南
前端·vue.js·设计模式
闲蛋小超人笑嘻嘻44 分钟前
前端面试十一之TS
前端
摆烂为不摆烂44 分钟前
😁深入JS(四): 一文让你完全了解Iterator+Generator 实现async await
前端