作者pyLIC (PyBlues)
看板Web_Design
標題[問題] Javascript string處理 在IE不會動
時間Thu Oct 27 13:59:05 2011
功能: 輸入 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
2F:→ pyLIC:樓上這連結有趣 雖然還找不到問題 只能說IE很XX 10/27 17:14
3F:推 maplenote:問題應該在於remove_0裡面你用input[i]去呼叫 10/27 17:31
4F:→ maplenote:ie認定他為字串,不讓你這樣抓 可以用split("")強制切開 10/27 17:33
5F:→ maplenote:其實你也不用特別寫個remove_0 用parseInt()就好了吧 10/27 17:36
6F:→ maplenote:好吧..我錯了 測了一下用parseInt是不行的><" 10/27 17:42