如何在el-input只能输入数字,及input框数字后保留小数


问题描述

当我们开发项目时,常常想限制用户只能输入纯数字:

 

 

 

解决办法

<el-form-item label="角色Id*" class="redItem">

  <el-input type="text" onkeyup="value=value.replace(/[^\d]/g,'')" size="small" width="50" v-model="editRoleParam.roleID" placeholder="请输入数字">

</el-form-item>

可以通过给input添加onkeyup事件来实现;

当输入值的键盘抬起时触发这个事件。this.value表示此输入框的值,/\D/g为正则表达式,用来匹配所有非数字字符;

此句功能为:将输入值为非数字的字符替换为空;

 

其他得部分正则:

// 先把非数字的都替换掉,除了数字和.

obj.value = obj.value.replace(/[^\d.]/g,"");

// 保证只有出现一个.而没有多个.

obj.value = obj.value.replace(/\.{2,}/g,".");

// 必须保证第一个为数字而不是.

obj.value = obj.value.replace(/^\./g,"");

// 保证.只出现一次,而不能出现两次以上

obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");

// 只能输入两个小数

obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');

// 只能输入六位小数

obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d{6}).*$/, '$1$2.$3');


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM