[問題] Javascript string處理 在IE不會動

看板Web_Design作者 (PyBlues)時間12年前 (2011/10/27 13:59), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
功能: 輸入 IP: 192.2.09.001 -> 192.2.9.1 錯誤狀況: 192.2.09.001 -> undefinedundefinedundefined.undefined.undefined undefined.undefinedundefinedundefined 正確環境: Chrome Firefox 錯誤環境: IE6 IE7 想請教為什麼在IE底下會這樣 觸犯了什麼 感謝 實作如下 function為ip_normalize(ip) function remove_0(input) { var i; var output_string=""; var tag=0; for (i=0; i< input.length ; i++) { if(i==input.length-1 || tag==1) { output_string+= input[i]; } else { if(input[i]!='0') { output_string+= input[i]; tag=1; } } } return output_string; } function ip_normalize(ip) { var ip_s = ip.split('.'); var ip_n = ""; var ip1="",ip2="",ip3="",ip4=""; if(ip_s.length!=4) return ip; ip1 = remove_0(ip_s[0]); ip2 = remove_0(ip_s[1]); ip3 = remove_0(ip_s[2]); ip4 = remove_0(ip_s[3]); ip_n = ip1 + '.' + ip2 + '.' + ip3 + '.' + ip4; return ip_n; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.184.171

10/27 17:03, , 1F
會不會是這個 http://0rz.tw/Oit72 IE split 的bug
10/27 17:03, 1F

10/27 17:14, , 2F
樓上這連結有趣 雖然還找不到問題 只能說IE很XX
10/27 17:14, 2F

10/27 17:31, , 3F
問題應該在於remove_0裡面你用input[i]去呼叫
10/27 17:31, 3F

10/27 17:33, , 4F
ie認定他為字串,不讓你這樣抓 可以用split("")強制切開
10/27 17:33, 4F

10/27 17:36, , 5F
其實你也不用特別寫個remove_0 用parseInt()就好了吧
10/27 17:36, 5F

10/27 17:42, , 6F
好吧..我錯了 測了一下用parseInt是不行的><"
10/27 17:42, 6F

10/27 19:20, , 7F
我有問到解了 感謝 http://0rz.tw/QTPjI
10/27 19:20, 7F
文章代碼(AID): #1EgFCi_m (Web_Design)