前言
本文主要介紹的是利用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; }
關於javascript的isNaN 函數:用法規則:isNaN(expression:Object) : Boolean。計算參數,如果值為 NaN(非數字),則傳回 true。此函數可用來檢查一個數學表達式是否成功地計算為一個數字。
可用性:Flash Player 5;ActionScript 1.0;參數expression:Object - 要計算的布林值、變數或其它表達式。返回Boolean -布林值。
在提交表單中經常是這樣用的:
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; }