element input输入框限制仅输入数字

2,926 阅读1分钟

<el-input @keyup.native="isFloor"/>

//正数,含小数

isFloor(e,type){ if(type=='floor') { var val=e.target.value; //限制只能输入一个小数点 if (val.indexOf(".") != -1) { var str = val.substr(val.indexOf(".") + 1); if (str.indexOf(".") != -1) { val = val.substr(0, val.indexOf(".") + str.indexOf(".") + 1); } } e.target.value = val.replace(/[^\d^.]+/g,''); }

}, //正负数,含小数

isFloor(){ var obj=event.target; var t = obj.value.charAt(0); obj.value = obj.value.replace(".", "#")//把第一个字符'.'替换成'#'(因为第二部删除了.) .replace(/./g, "")//把其余的字符'.'替换为空 .replace("#", ".")//把字符'#'替换回原来的'.' .replace(/[^\d.]/g, "")//只能输入数字和'.' .replace(/^./g, "")//不能以'.'开头 .replace( /([0-9]+.[0-9]{2})[0-9]*/,"$1")//只保留2位小数
if (t == '-') { obj.value = '-' + obj.value; } }

www.jb51.net/article/164…