最简单的方法: 取整后判断是否和原值相等!javascript的取整函数是:parseIntif(parseInt(value)==value) {//整数! } //正则表达式方法 function checkRate(input) { var re = /^[0-9]+.?[0-9]*$/; //判断字符串是否为数字 //判断正整数 /^[1-9]+[0-9]*]*$/ if (!re.test(input.rate.value)) { alert("请输入数字(例:0.02)"); input.rate.focus(); return false; } }下面为普通函数写法function BASEisNotNum(theNum) { //判断是否为数字 if (BASEtrim(theNum)=="") return true; for(var i=0;i<theNum.length;i++){ oneNum=theNum.substring(i,i+1); if (oneNum<"0" || oneNum>"9") return true; } return false; }function BASEisNotInt(theInt) { //判断是否为整数 theInt=BASEtrim(theInt); if ((theInt.length>1 && theInt.substring(0,1)=="0") || BASEisNotNum(theInt)){ return true; } return false; }function BASEisNotFloat(theFloat) { //判断是否为浮点数 len=theFloat.length; dotNum=0; if (len==0) return true; for(var i=0;i<len;i++){ oneNum=theFloat.substring(i,i+1); if (oneNum==".") dotNum++; if ( ((oneNum<"0" || oneNum>"9") && oneNum!=".") || dotNum>1) return true; } if (len>1 && theFloat.substring(0,1)=="0"){ if (theFloat.substring(1,2)!=".") return true; } return false;}
var t = 1.20; var reg = /^\d(?:\.\d{1,2})?$/; alert(reg.test(t)); </script>
最好是先把t转为字符串, 不转t也会调它的toString()方法。
<script type="text/javascript"> var a = 'abc'; var b = 123; var c = 123.5; var d = 123.45;var r = /\.\d{2,}|\.$|[^0-9\.]/;document.write(a+':'+!r.test(a)+'<br/>'); document.write(b+':'+!r.test(b)+'<br/>'); document.write(c+':'+!r.test(c)+'<br/>'); document.write(d+':'+!r.test(d)+'<br/>'); </script>
取整后判断是否和原值相等!javascript的取整函数是:parseIntif(parseInt(value)==value)
{//整数!
}
//正则表达式方法
function checkRate(input)
{
var re = /^[0-9]+.?[0-9]*$/; //判断字符串是否为数字 //判断正整数 /^[1-9]+[0-9]*]*$/ if (!re.test(input.rate.value))
{
alert("请输入数字(例:0.02)");
input.rate.focus();
return false;
}
}下面为普通函数写法function BASEisNotNum(theNum)
{
//判断是否为数字
if (BASEtrim(theNum)=="")
return true;
for(var i=0;i<theNum.length;i++){
oneNum=theNum.substring(i,i+1);
if (oneNum<"0" || oneNum>"9")
return true;
}
return false;
}function BASEisNotInt(theInt)
{
//判断是否为整数
theInt=BASEtrim(theInt);
if ((theInt.length>1 && theInt.substring(0,1)=="0") || BASEisNotNum(theInt)){
return true;
}
return false;
}function BASEisNotFloat(theFloat)
{
//判断是否为浮点数
len=theFloat.length;
dotNum=0;
if (len==0)
return true;
for(var i=0;i<len;i++){
oneNum=theFloat.substring(i,i+1);
if (oneNum==".")
dotNum++;
if ( ((oneNum<"0" || oneNum>"9") && oneNum!=".") || dotNum>1)
return true;
}
if (len>1 && theFloat.substring(0,1)=="0"){
if (theFloat.substring(1,2)!=".")
return true;
}
return false;}
var reg = /^\d(?:\.\d{1,2})?$/;
alert(reg.test(t));
</script>
<script type="text/javascript">
var a = 'abc';
var b = 123;
var c = 123.5;
var d = 123.45;var r = /\.\d{2,}|\.$|[^0-9\.]/;document.write(a+':'+!r.test(a)+'<br/>');
document.write(b+':'+!r.test(b)+'<br/>');
document.write(c+':'+!r.test(c)+'<br/>');
document.write(d+':'+!r.test(d)+'<br/>');
</script>