4 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
代碼如下:
function checkRate(input) {
var re = /^[0-9]+.?[0-9]*$/; //判斷字符串是否為數(shù)字 //判斷正整數(shù) /^[1-9]+[0-9]*]*$/
var nubmer = document.getElementById(input).value;
if (!re.test(nubmer)) {
alert("請輸入數(shù)字");
document.getElementById(input).value = "";
return false;
}
}
正則表達(dá)式,又稱規(guī)則表達(dá)式,是計(jì)算機(jī)科學(xué)的一個(gè)概念,這個(gè)概念最初是由Unix中的工具軟件普及開的。正則表通常被用來檢索、替換那些符合某個(gè)模式(規(guī)則)的文本。正則引擎主要分為DFA、NFA兩大類。許多程序設(shè)計(jì)語言都支持利用正則表達(dá)式進(jìn)行字符串操作。例如,在Perl中就內(nèi)建了一個(gè)功能強(qiáng)大的正則表達(dá)式引擎。
正則表達(dá)式的“鼻祖”或許可一直追溯到科學(xué)家對人類神經(jīng)系統(tǒng)工作原理的早期研究。通??s寫成“regex”,單數(shù)有regexp、regex,復(fù)數(shù)有regexps、regexes、regexen。

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
1、js判斷變量是否為數(shù)字的辦法,主要是js里面的isNaN函數(shù)的用法,示例代碼:
1. document.write(isNaN(123));//false
2. document.write(isNaN(-1.23));//false
3. document.write(isNaN(5-2));//false
4. document.write(isNaN(0));//false
5. document.write(isNaN("Hello"));//true
6. document.write(isNaN("2005/12/12"));//true
7. document.write(isNaN("6/2"));//true
8. document.write(isNaN("3"));//false
2、定義和用法:isNaN() 函數(shù)用于檢查其參數(shù)是否是非數(shù)字值。
3、語法:isNaN(x) x 必需。要檢測的值。
4、返回值:如果 x 是特殊的非數(shù)字值 NaN(或者能被轉(zhuǎn)換為這樣的值),返回的值就是 true。如果 x 是其他值,則返回 false。
5、說明:isNaN() 函數(shù)可用于判斷其參數(shù)是否是 NaN,該值表示一個(gè)非法的數(shù)字(比如被 0 除后得到的結(jié)果)。
6、如果把 NaN 與任何值(包括其自身)相比得到的結(jié)果均是 false,所以要判斷某個(gè)值是否是 NaN,不能使用 == 或 === 運(yùn)算符。正因?yàn)槿绱?,isNaN() 函數(shù)是必需的。

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊
判斷一個(gè)參數(shù)是不是數(shù)字的方法:
isNaN() 不是一個(gè)數(shù)字 is not a numberif(isNaN(a)){alert("a不是數(shù)字");}else{alert("a是數(shù)字");
原理:
一、利用expr做計(jì)算時(shí)變量或字符串必須是整數(shù)的規(guī)則,把一個(gè)變量或字符串和一個(gè)已知的整數(shù)(非0)相加,看命令返回的值是否為0.如果為0,就認(rèn)為加法的變量或字符串為整數(shù),否則就不是。
i=5
expr $I + 6 &>/dev/null
echo $?
如果輸出的是0,那么表明i是整數(shù),反之則表示為非整數(shù)。其中$?表示的是最后運(yùn)行的代碼的返回值
上述判斷中,有&>表示的就是不管是什么,都重定向到/dev/null中。
二、使用sed加正則表達(dá)式
思路:刪除一個(gè)字符串中的所有數(shù)字,看字符串的長度是否為0,如果不為0,則不是整數(shù)。
if [ -n "`echo char | sed 's/[0-9]//g'`" ]
then
echo "char"
else
echo "number"
fi
三、用變量的子串替換
思路:如果num的長度不為0,并且把num中的非數(shù)字部分刪除,然后看結(jié)果是不是等于num本身,如果兩者成立,那么就是數(shù)字,反之亦然。
if [ -n "$num" -a "$num" = "${num//[^0-9]/}" ]
then
echo "char"
else
echo "number"
fi

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
//首先你要得到參數(shù),再進(jìn)行判斷。
var a="abc";
var b="123";
//isNaN() 不是一個(gè)數(shù)字 is not a number
if(isNaN(a)){
alert("a不是數(shù)字");
}else{
alert("a是數(shù)字");
}
if(isNaN(b)){
alert("b不是數(shù)字");
}else{
alert("b是數(shù)字");
}
添加回答
舉報(bào)