在制作前台网页的时候我们总是想让文本框只能输入整数,效果就是我们输入非数字的字符时自动去掉非法字符。我喜欢使用jQuery,所以这里展示jQuery的做法。
//只能输入整数 $('.int-num').each(function (e) { var obj = this; $(this).keyup(function (e) { var val=$(obj).val(); if (val) { var pattern = /^-?\d+$/; if (!pattern.test(val)) { if(val.length == 1 && val=='-') { return; } else { var firstChar = val.substr(0, 1); obj.value = val.replace(/\D/g, '') if (firstChar == '-') obj.value = '-' + obj.value; } } } }); $(this).blur(function (e) { var val = $(obj).val(); var pattern = /^-?\d+$/; if (!pattern.test(val)) { $(this).val(''); } }); });
html代码如下所示
所以只要输入的不是整数的字符都会被相应的正则表达式规则去掉。