<el-input ref=""
class="mt-2"
v-model="form.loanAmount"
oninput="replaceAndSetPos(this,value=value.replace(/[^0-9.]/g,'')"
οnkeyup="replaceAndSetPos(this,value=value.replace(/[^0-9.]/g,'')"
@blur="transAmount($event)"
style="width: 300px"
:maxlength="20"
placeholder="请输入"
clearable />
getCursorPos(obj) {
var CaretPos = 0;
if (document.selection) {
obj.focus();
var Sel = document.selection.createRange();
Sel.moveStart('character', -obj.value.length);
CaretPos = Sel.text.length;
}
else if (obj.selectionStart || obj.selectionStart == '0')
CaretPos = obj.selectionEnd;
return (CaretPos);
},
setCursorPos(obj, pos) {
if (obj.setSelectionRange) {
obj.focus();
obj.setSelectionRange(pos, pos);
} else if (obj.createTextRange) {
var range = obj.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
},
replaceAndSetPos(obj, pattern, text) {
var pos = getCursorPos(obj);
var temp = obj.value;
obj.value = temp.replace(pattern, text);
var max_length = obj.getAttribute ? parseInt(obj.getAttribute("maxlength")) : "";
if (obj.value.length > max_length) {
var str1 = obj.value.substring(0, pos - 1);
var str2 = obj.value.substring(pos, max_length + 1);
obj.value = str1 + str2;
}
pos = pos - (temp.length - obj.value.length);
setCursorPos(obj, pos);
},
transAmount(e) {
this.form.loanAmount = formatMoney(_.replace(e.target.value, ",", ""), 2)
},