1、工具类
/**
* 验证手机
* @param {Number} mobile 手机号码
*/
const checkMobile = (mobile: number): boolean => {
const str = '^[1]([3-9])[0-9]{9}$'
const regExp = new RegExp(str, 'u')
const flag = regExp.test(String(mobile))
return flag
}
/**
* 计算距离
* @param la1 第一个坐标点的纬度
* @param lo1 第一个坐标点的经度
* @param la2 第二个坐标点的纬度
* @param lo2 第二个坐标点的经度
* @return (int)s 返回距离(单位千米或公里)
*/
const distance = (la1: number, lo1: number, la2: number, lo2: number): number => {
const La1 = (la1 * Math.PI) / 180.0
const La2 = (la2 * Math.PI) / 180.0
const La3 = La1 - La2
const Lb3 = (lo1 * Math.PI) / 180.0 - (lo2 * Math.PI) / 180.0
const powLa = Math.pow(Math.sin(La3 / 2), 2)
const powLb = Math.pow(Math.sin(Lb3 / 2), 2)
let s = 2 * Math.asin(Math.sqrt(powLa + Math.cos(La1) * Math.cos(La2) * powLb))
s = s * 6378.137
s = Math.round(s * 10000) / 10000
s = parseFloat(s.toFixed(2))
return s
}
export { checkMobile, distance }