vue表单校验限制输入数字后小数点两位(包括避开通过中文输入法的那些坑)
2024-08-29 06:56:49
<el-form-item label="海运运费系数">
<el-input
v-model.trim="ruleForm.oceanFreightCoefficient"
maxlength="8"
@keyup.native="ruleForm.oceanFreightCoefficient=oninput(ruleForm.oceanFreightCoefficient)"
@change="ruleForm.oceanFreightCoefficient=oninput(ruleForm.oceanFreightCoefficient)"
></el-input>
<span>元/千克</span>
</el-form-item>
oninput(num) {
console.log(num)
var str = num
var len1 = str.substr(0, 1)
var len2 = str.substr(1, 1)
var lenLast=str.substr(str.length-1)
//如果第一位是0,第二位不是点,就用数字把点替换掉
if (str.length > 1 && len1 == 0 && len2 != ".") {
str = str.substr(1, 1)
}
//第一位不能是.
if (len1 == ".") {
str = ""
}
//最后一位不能是.
if (str.length==8&&lenLast == ".") {
str = ""
}
//限制只能输入一个小数点
if (str.indexOf(".") != -1) {
var str_ = str.substr(str.indexOf(".") + 1)
if (str_.indexOf(".") != -1) {
str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1)
}
}
//正则替换
str = str.replace(/[^\d^\.]+/g, '') // 保留数字和小数点
str = str.replace(/\.\d\d\d$/,'') // 小数点后只能输两位
return str
}
最新文章
- Hibernate实体关系映射(OneToMany、ManyToOne双边)——完整实例
- S2总结笔记
- 非Unicode工程读取Unicode文件
- android listview用adapter.notifyDataSetChanged()无法刷新每项的图标
- CodeForces 483C Diverse Permutation
- git manual
- 大型web系统架构详解
- usaco /the first wave
- PS基础
- centos git 升级应用
- 如何提取Redis中的大KEY
- 原生Jdbc操作Mysql数据库开发步骤
- Centos7 修改硬件时间和系统时间
- java querydsl使用
- HTML基本格式和文本元素(标签)介绍
- docker 操作镜像的基本操作
- C++ 函数的重载和参数默认值
- 【IOS】#import和#include有什么区别,@class呢,#import<;>;跟#import ";";有什么区别?
- 51Nod 算法马拉松28 A题 先序遍历与后序遍历 分治
- Mac下IntelliJ的Git、GitHub配置及使用
热门文章
- Qt 字符串相等判断问题
- docker0 flannel.1不在同一网段
- 在windows上搭建spark遇到的问题
- “adb”不是内部或外部命令——解决方案
- 斐波那契数python实现迭代循环两种方法
- C CODE STYLE 每天瞅一两眼
- 为什么 A 能 ping 通 B,B 却不能 ping 通 A ?
- body传参和query传参
- Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist:...
- java8 检查