当前位置: 首页 > news >正文

JS常用函数

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 提示"请填写正确的身份证号!"
}

 

 

http://www.hskmm.com/?act=detail&tid=78

相关文章:

  • 第8章 STM32CUBE LCD配置和测试
  • git ssh key配置
  • Git的使用方法
  • 一个充气泵方案的主控芯片SIC8833
  • 83、快速制作身份证小方格
  • 微算法科技(NASDAQ: MLGO)采用量子相位估计(QPE)方法,增强量子神经网络训练
  • 数据库的逻辑外键与数据库的物理外键
  • 智能充气泵PCBA方案
  • DeepSeek文案短句:点燃创意火花
  • 如何通过Python SDK 统计Collection
  • 数字设计中的多级同步器(multi-stage synchronizer)
  • 小程序web-view全覆盖问题
  • conda安装虚拟环境或者包时候都一个常见问题--HTTP 000 CONNECTION FAILED(2)
  • debian11 nuitka 打包python3 脚本
  • C++容器内存安全实战:ASan注解逐步指南
  • iOS系统与Windows系统有什么区别?
  • qemu的外部快照原理
  • MySQL触发器
  • OSI 七层协议 和四层协议 TCP 三次握手的过程
  • nvm下载与安装(Windows)
  • 3. pod的生命周期
  • 2. pod基础原理
  • OSI 七层协议 和四层协议
  • 4. pod使用进阶
  • MySQL存储过程
  • 罗氏线圈的 “磁场烦恼”:干扰并非无解,防护有章可循
  • 构造记一下
  • ARC058D 笔记
  • 【IEEE出版】第四届电力系统与电力工程国际学术会议(PSPE 2025)
  • IK Multimedia TONEX MAX 1.10.2 逼真音色建模