1.方法
//正整数和小数
function checkNum(e) {
if(isNaN(e.value)){
layer.msg("请输入正确的数字");
e.value = "";
e.focus();
}
}
//正整数
function checkInt(e) {
var re = new RegExp("^[0-9]*[1-9][0-9]*$");
if (e.value != "") {
if (!re.test(e.value)) {
layer.msg("请输入整数");
e.value = "";
e.focus();
}
}
}
2.使用
<input class="form-control" onkeyup='checkInt(this)' placeholder="数字越小越靠前显示" name="orderby" id="orderby" min="1" type="text" max="999"
value="99" />
3.使用onkeyup事件是防止用户使用tab切换到下一个input导致验证不了。
最近学到的另一种简单的方式:
<input class="form-control" name="totalNum" id="totalNum" type="number" maxlength="7"
value="" placeholder="发放数量" onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" />
注意:最近我使用上面这种方式,如果加了type="number"好像可以输入多位数字。去掉即maxLenth是多少就只能输入几个字符,具体的自己测试。
4.金额-并保留两位小数
function checkNum(e) {
if(isNaN(e.value)){
layer.msg("请输入正确的数字");
e.value = "";
e.focus();
}else{
if(parseFloat(e.value) > parseFloat($('#ketixianPrice').text())) {
layer.msg("提现金额不能大于可提现金额");
e.value = "";
e.focus();
}
var money = e.value;
if(money.split(".").length == 2) {
if(money.split(".")[1].length > 2) {
layer.msg('请最多输入两位小数');
e.value = money.substr(0,money.length-1);
e.focus();
}
}
}
}