JavaScript - 邮政编码转换为数字

时间:2011-07-27 18:08:52

标签: javascript

我有五位数的美国邮政编码来自数据库。当JavaScript看到它们时,它会将它们视为一个数字,并从前导零处消失。

如何让JavaScript将数字视为字符串,以便正确显示?

4 个答案:

答案 0 :(得分:4)

引用它们。

在JavaScript和JSON中05123是一个等于2643的八进制数(感谢@Marc B),"05123"是一个只包含数字字符的字符串。

当然,不要在数据库中引用它们。您需要在服务器端代码中生成的JavaScript或JSON中引用它们,这些代码从数据库中读取信息并将其传递给客户端代码。通常,这就像将邮政编码转换为字符串一样简单(或者,更可能的情况是,将数字拉链转换为数字。)

答案 1 :(得分:3)

这是一个填充数字的函数,直到它长达5个字符。

function formatzip(num) {
    var s = "00000"+num;
    return s.substr(s.length-5);
}

但实际上邮政编码应该永远不会变成一个数字。当你设置它的值时,它应该是一个字符串。

答案 2 :(得分:1)

我确信String()可能有效。如果到那个时候,0已经被淘汰了,你可以做类似的事情:

zip = <Source>;
zip = String(zip);
while(zip.length<5){
  zip = "0" + zip;
}

告诉我这不是你想要的。

答案 3 :(得分:1)

猜测......有些天才决定将ZIP代码存储在数据库内的数字列类型中(NUMBERINT或您的DBMS实现的任何类型)。如果是这种情况,所有以零开头的邮政编码都已损坏。

最好在列太晚之前将列切换到VARCHAR并手动修复损坏的行。