很多时候为了显示格式, 需要在某一字符串不满位的情况下进行前补 0 操作. 下面这篇文章就给大家主要介绍了 JavaScript 添加前置 0(补零) 的方法.
众所周知 JavaScript 中的数字是没有前置 0 的, 因此需要我们自己进行操作来添加前置 0, 而且还得转换成字符串.
假如生成一个是一共是 4 位的有前置 0 的数据, 通常我们能想到的方法是这样子的:
- function addPreZero(num){
- if(num<10){
- return '000'+num;
- }else if(num<100){
- return '00'+num;
- }else if(num<1000){
- return '0'+num;
- }else{
- return num;
- }
- }
这种方式的思路比较简单, 根据当前数据的位数来补充相应个数的前置 0; 不过这样的算法写起来比较麻烦, 如果需要的前置 0 非常多的话, 那么得写很多的 if...else.
还是基于这种思路, 我们可以先算出这个数字有多少位, 然后直接补上相应的 0 就行了:
- function addPreZero(num){
- var t = (num+'').length,
- s = '';
- for(var i=0; i<4-t; i++){
- s += '0';
- }
- return s+num;
- }
这种方式的实现, 是根据当前 num 的位数, 来计算出所有的前置 0, 然后再拼接上 num.
在这个基础上, 我们还可以这样考虑: 比如需要一共是 10 位的有前置 0 的数据, 那么首先不管当前数字是多少位的, 都先补上 9 个前置 0, 然后再截取这个字符串最后的 10 位, 那么获取到的就是需要的数据:
- function addPreZero(num){
- return ('000000000'+num).slice(-10);
- }
来源: http://www.css88.com/qa/javascript/11337.html