parseDistance - 距离转换

功能描述:

距离转换,入参单位为米,输出换算为千米、米

参数:

distance number   距离数值(单位:米)
unit string   转换最终单位 zh-中文,en-英文

返回值:

- string 转换为 数字+单位 的值

方法代码:

export function parseDistance(dis,unit='zh'){
    if(isNaN(dis)){
        return dis
    }
    if(dis>50000){
        return '>50'+((unit=='zh')?'千米':'km')
    }else if(dis>=10000){
        return (dis / 1000).toFixed(1) + ((unit=='zh')?'千米':'km')
    }else if(dis>=1000){
        return (dis / 1000).toFixed(2) + ((unit=='zh')?'千米':'km')
    }else{
        return Math.ceil(dis)+((unit=='zh')?'米':'m')
    }
}

<span>距离你{{distance1 | parseDistance}}</span>   <!-- 距离你1.40千米 -->
<span>距离你{{distance2 | parseDistance('en')}}</span> <!-- 距离你>50km -->

parseYuan - 金额转换

功能描述:

金额转换,入参单位为分,输出换算为元

参数:

y string   要转换的金额(单位:分)
         

返回值:

- string 转换为 元
/**
 * 分转元
 * @param {Number} y 具体数值 单位分
 * @return 100.00  100.20  100.21
 * 传参非数字返回 -
 */
export function parseYuan(y) {
    if(!y)return '-'
    if(isNaN(y)){
        return '-'
    }else if (y.length >= 3) {
        return y.substr(0, y.length - 2) + '.' + y.substr(y.length - 2, y.length);
    } else {
        return (Number(y) / 100).toFixed(2);
    }
}
 
 
 
 
/**
 * 分转元
 * @param {Number} y 具体数值 单位分
 * @return 100  100.2  100.21
 * 传参非数字返回 -
 */
export function parseYuan2(y) {
    if(!y)return '-'
    if(isNaN(y)){
        return '-'
    }else if (y.length >= 3) {
        let n = y.substr(0, y.length - 2);
        if(y.substr(y.length - 2, y.length)==='00'){
            return n
        }else if(y.substr(y.length - 1, y.length)==='0'){
            return n+'.'+y.substr(y.length - 2,1)
        }else{
            return n + '.' + y.substr(y.length - 2, 2);
        }
    } else {
        return (Number(y) / 100);
    }
}

调用

<!-- price1为10000,price2为10020 -->
<span>售价{{price1 | parseYuan}}元</span>  <!-- 售价100.00元 -->
<span>售价{{price1 | parseYuan2}}元</span> <!-- 售价100元 -->
 
 
<span>售价{{price2 | parseYuan}}元</span>  <!-- 售价100.20元 -->
<span>售价{{price2 | parseYuan2}}元</span> <!-- 售价100.2元 -->

validCertNo - 身份证正则

功能描述:

身份证正则校验

参数:

cert string   身份证号

返回值:

- boolean true - 符合格式;false - 身份证号格式不正确

方法代码:

export function validCertNo(cert){
  const pattern = /^[1-9]\d{5}(18|19|2([0-9]))\d{2}(0[0-9]|10|11|12)([0-2][1-9]|10|20|30|31)\d{3}[0-9Xx]$|^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$/
  return pattern.test(cert)
}

//调用
import {validCertNo} from "@/assets/js/validate.js"
if(!validCertNo('330327199001011234')){
    // toast 提示"请填写正确的身份证号!"
}

 

 

posted on 2025-09-09 15:32  小海豚Dolphins  阅读(9)  评论(0)    收藏  举报