JS验证输入的是否是数字及保留几位小数问题

JavaScript08

JS验证输入的是否是数字及保留几位小数问题,第1张

给你个思路:

var numStr1="a123"

var numStr2="123"

var numStr3="1.123"

var number1isNum = !isNaN(Number(numStr1))//false

var number2isNum = !isNaN(Number(numStr2))//true

var number3isNum = !isNaN(Number(numStr3))//true

var n1 = Math.floor(123.656)//123,向下取整

var n2 = Math.ceil(123.123)//124,向上取整

var n3 = 123.2356.toFixed(2)//123.23 保留2位小数,五舍六入(视浏览器而定)

var n4 = 123.2366.toFixed(2)//123.24 Chrome五舍六入而IE8四舍五入

var n5 = Math.round(123.56)// 通用的四舍五入保留整数

var n6 = Math.round(123.5678*100)/100// 通用的四舍五入保留2位数

var n7 = 123.456789+""

var n8 = Number(n7.substring(0,n7.indexOf(".")+3))//123.45 截取两位小数

<title>js判断输入是否为数字</title>

<script language="javascript教程">

function ischeckNum(){var num = document.getElementById('isnum').valueif( num ){if( !isNaN( num ) ){alert('是数字')

return false}else{alert('你输入的数据不是数字')

myfm.isnum.select()

return false}}else{alert('需输入内容')

myfm.isnum.focus()}}</script></head><body><form name="myfm" method="post" action=""><label><input type="text" name="isnum" id="isnum"></label><label><input type="button" name="Submit" value="检测是否为数字" onClick="ischeckNum()"></label></form></body></html>注明:在javascript中要判断用户输入的内容是否为数字我们只要用isNaN来判断一下就OK了。

isNaN(numValue) 其中必选项 numvalue 参数为要检查是否为 NAN 的值

如果值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false

使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的返回值。还有一种办法,变量可以与它自身进行比较。 如果比较的结果不等,那么它就是 NaN 。

javaScript判断一个字符串中是否包括有数字和"-",在一些表单提交的地方,这是比较有用的常规判断,这里收集有几种不同的方法,包括普通的JS验证法、正则表达式法,另外还有判断是否为浮点数的js函数,在最后还将简要介绍下isNAN函数的使用方法和例子:

正则表达式方法判断是否为数字,包括判断正整数:

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

}

}

普通的JS函数方式:

function BASEisNotNum(theNum)

{

if (BASEtrim(theNum)=="")

return true

for(var i=0i<theNum.lengthi++){

oneNum=theNum.substring(i,i+1)

if (oneNum<"0" || oneNum>"9")

return true

}

return false

11}

判断是否是正数,也就是正整数:

function BASEisNotInt(theInt)

{

theInt=BASEtrim(theInt)

if ((theInt.length>1 &&theInt.substring(0,1)=="0") || BASEisNotNum(theInt)){

return true

}

return false

}

判断字符串是是否是数字和其它符号组成,比如“-”:

function ismonth(str)

{

for(ilen=0ilen<str.lengthilen++)

{

if(str.charAt(ilen) <'0' || str.charAt(ilen) >'9' )

{

if((str.charAt(ilen)!='-'))

return false

}

}

11return true

}

判断是否为浮点数:

view sourceprint?

function BASEisNotFloat(theFloat)

{

len=theFloat.length

dotNum=0

if (len==0)

return true

for(var i=0i<leni++){

oneNum=theFloat.substring(i,i+1)

if (oneNum==".")

dotNum++

11if ( ((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

关于javascript的isNaN 函数:用法规则:isNaN(expression:Object) : Boolean。计算参数,如果值为 NaN(非数字),则返回 true。此函数可用于检查一个数学表达式是否成功地计算为一个数字。

可用性:Flash Player 5;ActionScript 1.0;参数expression:Object - 要计算的布尔值、变量或其它表达式。返回Boolean -布尔值。在提交表单中经常是这样用的:

<script>

if(isNaN(document.login.imgcode.value)){

alert('验证码不是数字!')

document.login.imgcode.focus()

return false

}

</script>