• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
小码哥-倩倩
博客园    首页    新随笔    联系   管理    订阅  订阅

制作一个只能输入数字,且保留两位小数没有时自动补全

项目需要自己封装了一个限制输入价格的数字组件。功能:只能输入数字不允许输入其他字符,输入一个点之后不允许再次输入点,加入没有输入小数,失焦时自动补全。

代码:

<template>
<div>
<h2>限制输入数字保留两位小数-并且自动补充两位小数</h2>
<input :id="id" :type="type" :disabled="disabled" :placeholder="placeholder" v-model="curValue" @blur="addFloar"/>
</div>
</template>

<script>
import SjInput from '@/components/SjInput'
export default {
name: "",
props:{
value:{
type:String|Number,
default: ''
},
id:{
type:String,
default:''
},
type:{
type:String,
default: 'text'
},
placeholder:{
type:String,
default:''
},
disabled:{
type:String|Boolean,
default:false
},
length:{
type:String|Number,
default:''
},
},
data(){
return{
curValue:this.value
}
},
components:{
SjInput
},
methods:{
addFloar(){
let inx = this.curValue.indexOf(".");
if(inx=='-1'){
this.curValue +='.00';
}
this.$emit('input',this.curValue);
}
},
watch:{
curValue(val){
if(val == '.'){
val = '';
}
var arr = [];
if(!(/^[0-9\.]*$/.test(val))){
arr = val.split("");
//判断第一个不能为。
let thit = this;
var reg=/^[A-Za-z\u4E00-\u9FA5!!@#*&%$¥~·^+_\-/),/(,/(/)。/|\\]*$/;
arr.forEach((item,index)=>{
if(reg.test(item)){
//Vue.prototype.$set(obj,name,value.substring(index,value.length-1));
val = val.substring(index,val.length-1);
}
});
}
//限制只输入一个点
let str = String(val);
let inx = str.indexOf(".");
if(inx!=-1){
val = str.substr(0,inx+3);
}
let smallarr = str.substr(inx+1,str.length-1);
let arrsmall = smallarr.split('');
//截取点之后的两个字段验证
if(inx!=-1 && !(/^[0-9]*$/.test(arrsmall[0]))){
val = str.substr(0,inx+1);
}else if(inx!=-1 && !(/^[0-9]*$/.test(arrsmall[1]))){
val = str.substr(0,inx+2);
}
this.curValue = val;
this.$emit('input',this.curValue);
}
}
}
</script>
<style scoped>

</style>
调用代码:
<sj-price type="text" class="price-input" v-model="advertisingSetNum[0].price" placeholder="" :key="advertisingSetNum[0].price"></sj-price>
posted @ 2019-06-28 09:51  小码哥-倩倩  阅读(690)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3