......

else if(parseInt(month)<1 || parseInt(month) >12)

......

可是對于當前本來正 " /> 台湾a级艳片潘金莲,日韩男人天堂,亚洲最大的黄色网址

四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

關于javascript中的parseInt使用技巧

要對表單中填寫的日期格式進行客戶端驗證,于是在網上找了段代碼,其中用到parseInt對年月日做判斷,其中有類似這樣的語句:

......

else if(parseInt(month)<1 || parseInt(month) >12)

......

可是對于當前本來正確的日期,這里怎么也通不過。后來一查才明白,parseInt實際上有兩個參數,第一個是要轉換的值,第二個是指定的進制。如果不指定第二個參數,那么它只能正確地轉換01到07(即把它們轉換成1到7),從08開始,它就會按照“0開頭的是八進制數”的規則轉換了!正好現在是9月,我隨手選的日期,正好暴露了這個問題,我要是在上半年做這個,還真是將留下一個BUG,然后等到下半年客戶才告訴我日期無法填寫了。

于是,將函數中所有用到parseInt的地方,都加上了第二個參數,指明是十進制。比如上面那句,改成:

......

else if(parseInt(month,10)<1 || parseInt(month,10) >12)

......


前面好幾次遇到JavaScript中parseInt函數把字串轉為數字,前面遇到過幾次問題,然后就換其它方法進行比較。
當我去頁面取得一個日歷的東西,然后進行轉換成數字進行比較 的時候,月份轉換老是出現問題,
當我用

var num = parseInt(01);
var num = parseInt(01);
...
var num = parseInt(07);
var num = parseInt(08);
var num = parseInt(09);
var num = parseInt(10);

假如當我進行如上轉換的時候,
parseInt(),傳進去的參數從1到7都沒有問題,可是當我用parseInt(08)的時候就出問題,轉換出來的num=0

當時因為項目的緊急的原因,也沒有細細的去追究
現在有空了看了一下parseInt這個Javascript方法

Javascript 的api的說明如下:
parseInt 方法
返回由字符串轉換得到的整數。
parseInt(numString, [radix])
參數
numString
必選項。要轉換為數字的字符串。
radix
可選項。在 2 和 36 之間的表示 numString 所保存數字的進制的值。如果沒有提供,則前綴為 '0x' 的字符串被當作十六進制,前綴為 '0' 的字符串被當作八進制。所有其它字符串都被當作是十進制的。

看了如上的api知道了,原來我轉進去的參數為01到08時,參數以'0'開頭,所以轉換成了八進制。又因為八進制是只能表示0到7所以,當我參數為01到07時轉換正確,當為08時就進位了,轉換為0.而parseInt(10)又能正解轉換為10

所以規矩的做法是不要省略最后一個參數,

用parseInt(08,10);就能轉換正確了

JavaScript技術關于javascript中的parseInt使用技巧,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 成龙电影大全免费功夫片| 远大前程电影在线观看完整版| 安徽公共频道| 朱莉安妮全集在线观看免费| 一江春水向东流 电视剧| i性感美女视频| 国产高清一卡2卡3卡4卡乱码| 我的幸福婚约电影| 凌晨晚餐| 谭凯琪| 白洁合集| 琪琪色影院| 地缚少年花子君第一季免费观看| 1号玩家| 孕妇入院待产包清单| 徐若| 小镇姑娘高清在线观看| 姐姐的秘密电影| deathnote| 爱,藏起来 电影| 一江深情简谱| 色戒在线收看| 郑有杰| 绿巨人3| 黄网站在线观看| 绿门背后| 电影《皮埃里诺》免费观看| 我的一级兄弟 电影| 墓碑样式图片| after4| 超人演员| 打开抖音网页版| 凤凰资讯台| 美国要塞1986| 来自地狱| 引诱| 极品美女在线视频| 阮经天新电影| 韶山研学心得体会800高中| 2024韩国三级电影| 童宁全部经典电影|