没想到前端页面的输入框要控那么细,数值类的输入框只能输入数字,其它字符都不允许输入,连切换输入法后的中文或拷贝的字母都不允许输入,在此特意准备了一下这类限制的js实现,嗯,用起来完美了许多。
输入框限制
common.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| function onlyNumber(val) { var res = val.replace(/[^\d]/g, ''); return res; }
function numberAndDot(val) { var res = val.replace(/[^\d\.]/g, ''); var idx = res.indexOf('.'); if (-1 != idx) { res = res.substring(0, idx) + '.' + res.substring(idx, res.length).replace(/\./g, ''); } return res; }
function onlyAlphabet(val) { var res = val.replace(/[^a-zA-Z]/g, ''); return res; }
function alphabetAndNumber(val) { var res = val.replace(/[\W]/g, ''); return res; }
function isNumericMN(val) { var re = /^[0-9]{0,9}\.?[0-9]{0,2}$/; if (re.test(val)) { return true; } else { return false; } }
|
用例:
1
| <input type="text" maxlength="9" onkeyup="value=numberAndDot(value)">
|