1. 程式人生 > >各種符號、數字、帶引號數字判斷

各種符號、數字、帶引號數字判斷

區分數字、帶引號數字、和其他符號(包括空格,null,undefined等)的方法
(練習FCC-Validate US Telephone Numbers時碰到問題,總結的解決方法)
方法1:利用%求餘。 可以區分數字(帶引號數字)和其他字串,但無法區分空格,null

2%1==0;
"2"%1==0;
" "%1==0;
null%1==0;
undefined%1==NaN
"a"%1==NaN

方法2:isNaN(x);如果 x 是特殊的非數字值 NaN(或者能被轉換為這樣的值),返回的值就是 true。如果 x 是其他值(包括數字,引號包裹的數字”2”,空格” “,null),則返回 false。

isNaN(" ") false
isNaN(null) false
isNaN(NaN) true
isNaN(undefined) true
isNaN(2) false
isNaN("2") false

方法3:自建函式。可以直接確定數字,可以區分1和{“1”,null,空格,undefined,字串},無法區別NaN

function isNumber(x){
return typeof x === 'number';}

擴充套件:

1.parseInt() 可以將任何東西轉化為整數格式
2.可以用split(” “) 和join(“”),再用split(“”),去除空格