unils

作者: Eden0204 | 来源:发表于2020-05-06 17:55 被阅读0次
    /**
     * 是否是数字
     * @param {any} n
     */
    export const validateNumber = (n: any) =>
      !isNaN(parseFloat(n)) && isFinite(n) && Number(n) === n
    
    /**
     * 保留两位小数、千分位格式化,格式:12,345.67
     * @param {string|number} amount
     * @returns {string}
     */
    export const formatAmount = (amount: any) => {
      if (!validateNumber(+amount)) {
        return amount
      }
      return (+amount).toFixed(2).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
    }
    
    
    
    /**
     * 获取Url参数中指定name的值
     * @param name 参数名称
     * @returns {string}
     */
    export const getURLParam = (name: string) => {
      const re = new RegExp('(^|&)' + name + '=([^&#]*)(&|$)')
      let value = ''
      const arrHash = window.location.hash.split('?')
      const arrSearch = window.location.search.substr(1).split('?')
      arrHash.shift()
      const arr = arrSearch.concat(arrHash)
    
      for (let i = 0; i < arr.length; i++) {
        const r = arr[i].match(re)
        if (r !== null && r[2]) {
          value = r[2]
          break
        }
      }
      return value
    }
    
    //延时函数
    export const sleep = function(delay: number) {
      return new Promise((resolve, reject) => {
        setTimeout(() => {
          try {
            resolve(1)
          } catch (e) {
            reject(0)
          }
        }, delay)
      })
    }
    /**
     * rem 换算 px
     * @param rem 设计稿rem值
     * @returns {number} px值
     */
    export const rem2px = (rem: any) => {
      const rootFontSize = parseFloat(
        window.document.documentElement.style.fontSize
      )
      return parseFloat(rem) * rootFontSize
    }
    
    

    相关文章

      网友评论

          本文标题:unils

          本文链接:https://www.haomeiwen.com/subject/ylzwghtx.html