我是想控制输入的字符必须是数字,且最多只有一个“.”?该怎么办?

/**
* 验证是否为数字
*/
function check_int(obj, str) {
var regu ="^\d*\.?\d+$|^\d*\.?\d*$";
var re = new RegExp(regu);
var checkStr = obj.value.trim();
if(checkStr.search(re) == -1) {
alert(str + "必须是数字!");
obj.focus();
return false;
}
if(obj!=""){
if(strLen(obj.value)>10){
alert(str+" 不能大于10位数字,请修改!");
obj.focus();
return false;
}
}
var i = parseInt(parseFloat(checkStr));
if(i == 0) {
alert(str + "不能为0!");
obj.focus();
return false;
}
if(i < 0) {
alert(str + "不能小于0!");
obj.focus();
return false;
}
return true;
}

为什么不对呢?
var regu ="^\d*\.?\d+$|^\d*\.?\d*$";
这句是不是有问题。
我就是想控制输入的字符必须是数字,且最多只有一个“.”
那个大哥给看一下?

萧十郎
浏览 248回答 2
2回答

慕村9548890

js里的函数isNaN()计算一个参数,检查它是否为数值。下面的例子计算 floatValue,确定它是否为数值,以便调用相应的过程:floatValue=parseFloat(toFloat)if (isNaN(floatValue)) {notFloat()} else {isFloat()}

料青山看我应如是

var regex = /^\d*\.?\d*$/;正则这样写
打开App,查看更多内容
随时随地看视频慕课网APP