各种实用方法

下载文件

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
      );
    }
相关推荐
kite01211 小时前
浏览器工作原理06 [#]渲染流程(下):HTML、CSS和JavaScript是如何变成页面的
javascript·css·html
крон1 小时前
【Auto.js例程】华为备忘录导出到其他手机
开发语言·javascript·智能手机
coding随想4 小时前
JavaScript ES6 解构:优雅提取数据的艺术
前端·javascript·es6
年老体衰按不动键盘4 小时前
快速部署和启动Vue3项目
java·javascript·vue
小小小小宇4 小时前
一个小小的柯里化函数
前端
灵感__idea4 小时前
JavaScript高级程序设计(第5版):无处不在的集合
前端·javascript·程序员
小小小小宇4 小时前
前端双Token机制无感刷新
前端
小小小小宇4 小时前
重提React闭包陷阱
前端
小小小小宇4 小时前
前端XSS和CSRF以及CSP
前端
UFIT4 小时前
NoSQL之redis哨兵
java·前端·算法