前言
本文主要介绍的是利用JS判断字符串是否含有数字与特殊字符的方法,文中有几种不同的方法,包括普通的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=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 ismonth(str) { for(ilen=0;ilen<str.length;ilen++) { if(str.charAt(ilen) < '0' || str.charAt(ilen) > '9' ) { if((str.charAt(ilen)!='-')) return false; } } return true; }
五、判断是否为浮点数:
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;
关于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>