当前位置: 首页 > 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.gsyq.cn/news/915.html

相关文章:

  • git ssh key配置
  • 一个充气泵方案的主控芯片SIC8833
  • 83、快速制作身份证小方格
  • 数据库的逻辑外键与数据库的物理外键
  • conda安装虚拟环境或者包时候都一个常见问题--HTTP 000 CONNECTION FAILED(2)
  • debian11 nuitka 打包python3 脚本
  • qemu的外部快照原理
  • 4. pod使用进阶
  • 构造记一下
  • 【IEEE出版】第四届电力系统与电力工程国际学术会议(PSPE 2025)
  • 最近顾问问了两次有没有批量更新XXX的程序,突然来了灵感
  • 2025.9.9 树套树 + 分治 刷题日记
  • Rocky9和Ubuntu使用pip安装python的库mysqlclient失败解决方式
  • MySQL SQL优化
  • JMESPath由浅入深完全入门教程(自用)
  • 我的2025新版泛目录站群探索之旅:智能化SEO的新世界 - 蚂蚁站群
  • 高效管理多站点的秘密武器:站群管理软件实战分享 - 蚂蚁站群
  • 基于 Dify on DMS 快速构建客服对话数据质检服务,完成任务可领取积分、定制手办等好礼!
  • PCTA/PCTP学习笔记-TiDB 数据库核心原理与架构
  • 镜像站群CMS使用手记 - 蚂蚁站群
  • 多站点管理:批量站群建站软 - 蚂蚁站群
  • Aivilization Ai小镇体验
  • JH-ViewInspector - Android 控件ID/控件详情获取工具
  • 2024-2025学年第二学期教务处助教工作总结
  • CSRF
  • 【日记】拜托,丝之歌不开挂真的能打得过吗(975 字)
  • 2025天津大学预推免机试题解
  • 数据挖掘与隐私:你真的匿名了吗?
  • 饮酒其五
  • 简单的sql注入方法