必看常用js工具函数汇总

167 阅读1分钟

1,正则表达式

经度范围:-180.000000~180.000000;
纬度范围:-90.000000~90.000000;经度:/^-?((0|1?[0-7]?[0-9]?)(([.][0-9]{1,6})?)|180(([.][0]{1,6})?))$/
纬度:/^-?((0|[1-8]?[0-9]?)(([.][0-9]{1,6})?)|90(([.][0]{1,6})?))$/
经纬度:/^-?((0|1?[0-7]?[0-9]?)(([.][0-9]{1,6})?)|180(([.][0]{1,6})?)),-?((0|[1-8]?[0-9]?)(([.][0-9]{1,6})?)|90(([.][0]{1,6})?))$/

2,base64转Blob

dataURLtoBlob (dataURI, type) {
    let binary = atob(dataURI.split(',')[1])
    let array = []
    for (let i = 0; i < binary.length; i++) {
        array.push(binary.charCodeAt(i))
    }
    return new Blob([new Uint8Array(array)], { type: type })
}

3,base64转File

dataURLtoFile (dataURI, filename) {
    let arr = dataURI.split(','),
        mime = arr[0].match(/:(.*?);/)[1],
        atobStr = atob(arr[1]),
        n = atobStr.length,
        u8arr = new Uint8Array(n)
    while (n--) {
        u8arr[n] = atobStr.charCodeAt(n)
    }
    return new File([u8arr], filename, { type: mime })
}