<div>
<br/>
<h3>限制文本框输入为数字,且最多输入2位小数</h3>
<p><input type="number" oninput="inputText(this);"/></p>
</div>
<script type="text/javascript">
//监听文本框输入,限制其输入为数字,且最多只能输入2位小数
function inputText(obj){
obj.value = checkInputText(obj.value);
}
//检查输入文本,限制只能为数字并且数字最多带2位小数
function checkInputText(text){
var reg = /^(\.*)(\d+)(\.?)(\d{0,2}).*$/g;
if (reg.test(text)) { //正则匹配通过,提取有效文本
text = text.replace(reg, '$2$3$4');
}
else { //正则匹配不通过,直接清空
text = '';
}
return text;
}
</script>
vue2写法
<el-table-column align="center" label="小时" prop="hour">
<template slot-scope="{row}">
<el-input v-model="row.hour" @input="handleInput(row,'hour')"></el-input>
</template>
</el-table-column>
<el-table-column align="center" label="点数" prop="point">
<template slot-scope="{row}">
<el-input v-model="row.point" @input="handleInput(row,'point')"></el-input>
</template>
</el-table-column>
handleInput(row,text){
var reg = /^(\.*)(\d+)(\.?)(\d{0,2}).*$/g;
if (reg.test(row[text])) { //正则匹配通过,提取有效文本
row[text] = row[text].replace(reg, '$2$3$4');
}
else { //正则匹配不通过,直接清空
row[text] = '';
}
},