亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

怎么判斷輸入的是不是數字?

怎么判斷輸入的是不是數字?不是數字能報錯

正在回答

4 回答

typeof(那個輸入的東西);

0 回復 有任何疑惑可以回復我~
#1

__正正經經先生4337661 提問者

在函數用if中怎么寫這個代碼?
2016-11-04 回復 有任何疑惑可以回復我~

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>返回值函數</title>

<script type="text/javascript">

var arr=['as',100,'xx'-6,'100px']




document.write("1.數組中是純數字的有:") ? //100

for(var i=0 ; i<arr.length ;i++)

{

//isNaN()很特別如果你是純數字會判斷為false;其他就為true;

if(isNaN(arr[i])===false)

{ document.write(arr[i]) }

}

document.write("</br>"+"2.數組中不是純數字的有:") //'as','xx'-6,'100px'

for(var n = 0 ; n < arr.length ;n++)

{

//當 isNaN()判斷出 你不是純數字的同時又屬于數字類型的時候(就是含有數字的字符串),輸出值為NaN

if(isNaN(arr[n]) === true)

{ document.write(arr[n]+",") ?}

}

document.write("</br>"+"3.數組中是純數字的有:") ? //100

for(var p=0 ; p<arr.length ;p++)

{

//parseInt()用于強轉為數字類型,比如parseInt('100px')=100 ;parseInt('560ss')=560

if(parseInt(arr[p]) === arr[p])

{ document.write(arr[p]) }

}

//轉換條件自己推吧

console.log("parseInt('100px')="+parseInt('100px'))

console.log("parseInt('a')="+parseInt('a'))

console.log("parseInt('10a10')="+parseInt('10a10'))

console.log("parseInt('a10')="+parseInt('a10'))

document.write("</br>"+"4.數組中屬于數字類型的有:")//100,'xx'-6

for(var j = 0 ; j < arr.length ;j++)

{

//typeof用于判斷字符串類型

if(typeof arr[j] === "number")

{ document.write(arr[j]+",") }

//還搞懂isNaN()就對比一下1,2,4的關系把

}

</script>

</head>

<body>

</body>

</html>


0 回復 有任何疑惑可以回復我~
#1

慕粉3912077

有點多,用谷歌運行來看看吧
2016-11-04 回復 有任何疑惑可以回復我~
#2

__正正經經先生4337661 提問者

謝謝!
2016-11-04 回復 有任何疑惑可以回復我~

var a='a';

a=a*1;

console.log(isNaN(a));//true

var b='1';

b=b*1;

console.log(isNaN(b));//false

比如說一個輸入框,你輸入了一個東西,然后點擊一個button,這個時候判斷的輸入的是不是數字肯定不能直接判斷,因為你輸入進去取出來的都是string,這個時候你需要乘以1,獲取這個乘以1的值,用isNaN進行判斷,如果你輸入的不是數字判斷結果都是true,輸入的是數字判斷結果都是false;

0 回復 有任何疑惑可以回復我~
#1

__正正經經先生4337661 提問者

我想追問一下,a如果是形參是不是就不能判斷了?之前他們的答案我去試了 function sub(x,y){ if(x instanceof Number){ alert(“是數字”); } } 這個結果是Undefined,這是為什么?
2016-11-04 回復 有任何疑惑可以回復我~
#2

慕粉4259319 回復 __正正經經先生4337661 提問者

a instanceof b是來判斷a是不是b的實例,也就是說a和b都是對象,才能使用instanceof,而如果只是傳入的是數字的話永遠都是false,如果你傳入的參數是var n=new Number(0);sub(n,1);這樣才是true。其實形參只是一個傳輸的通道,由方法實現的時候接收傳入的參數,所以方法實現的時候形參就變成了實參,其實沒有什么太大的區別。
2016-11-04 回復 有任何疑惑可以回復我~
#3

__正正經經先生4337661 提問者 回復 慕粉4259319

之前用typeof()試的時候也是在if(typeof(x)= =“number”)判斷卡住的,后來查書用instanceof 還是不行,但書上的例子: var oStringObject= new String("hello world"); alert(oStringObject instanceof String); 輸出的是true; 我就很懵逼了,就是在if()這得不出結果。 function sub(x,y){ if(typeof(x)= =Number){ alert(“是數字”); } } var sub(2,3);
2016-11-04 回復 有任何疑惑可以回復我~
#4

慕粉4259319 回復 __正正經經先生4337661 提問者

因為它是new出來的,通過new出來的都是對象屬性,如果你直接寫一個var oString="hello world";那么用instanceof的話出來也是false,因為像這種直接寫的類型一般都是基本數據類型,所以不能用instanceof,你用typeof彈new出來的變量會發現出來的是object,所以不是對象類型都不要使用instanceof。
2016-11-04 回復 有任何疑惑可以回復我~
#5

__正正經經先生4337661 提問者 回復 慕粉4259319

哦哦,明白了
2016-11-04 回復 有任何疑惑可以回復我~
查看2條回復

if(isNaN(otext.value) === true) ? ?

? ?文本.innerHTML="輸入的不是數字" ? ?


0 回復 有任何疑惑可以回復我~
#1

慕粉3912077

也可以用typeof判斷字符是什么類型,比如 alert(typeof a == "string") -------------> true 或者alert(typeof a) ------------> string ;isNaN()是判斷屬于數字類型但又不完全是的那種數字類型,可以理解成類是半人半妖的血統。。。。。。。。。。。比如 alert(isNaN(100px) ) -------------> true alert(isNaN(100) ) -------------> false
2016-11-04 回復 有任何疑惑可以回復我~
#2

__正正經經先生4337661 提問者

你這個理解起來有點復雜,我看得有點暈,能不能舉個例子呢?
2016-11-04 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

怎么判斷輸入的是不是數字?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號