页面输入控制

没想到前端页面的输入框要控那么细,数值类的输入框只能输入数字,其它字符都不允许输入,连切换输入法后的中文或拷贝的字母都不允许输入,在此特意准备了一下这类限制的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}$/; // {0,9}中间不能有空格
if (re.test(val)) {
return true;
} else {
return false;
}
}

用例:

1
<input type="text" maxlength="9" onkeyup="value=numberAndDot(value)">