我如何给一个号码加前缀和加零?
How can I prefix and zeropad a number?
我想要一个这样的图案:- GT-000001。当插入新记录时,此模式将递增。
我从DB中得到这样的值:
var pattern = 'GT-';
var init = 00000;
var recordnumber = 1; // This value i get dynamically.
var result = pattern + init + recodnumber;
但是我得到了result = GT-01
。我希望结果是GT-000001
。如何得到这个结果?
下面的例子适用于最多6位的recordnumber。根据recordnumber
的值输出'GT-000001', 'GT-000012'或'GT-123456'var pattern = 'GT-';
var recordnumber = 1; // This value i get dynamically.
var result = pattern + ('00000' + recordnumber).slice(-6);
console.log(result);
你得到这个结果的原因是你有
var init = 00000;
注意0不在引号中。这实际上相当于:
var init = 0;
所以当你把它放入字符串时,你只得到一个0
如果需要五个0,则需要使用字符串:
var init = "00000";
如果你想零填空,一般来说,Matt发现的这个问题和答案可能会有帮助。
但是简短的版本:
var pattern = 'GT-';
var init = "000000"; // Note there are six of these, not five
var recordnumber = 1; // This value i get dynamically.
var result = String(recordnumber);
result = pattern + init.substring(result.length) + result;
你的init是数字类型,它在赋值时已经被截断为0。您需要手动添加前导零:
function leadzeros(n, size) {
var s = n+"";
while (s.length < size) s = "0" + s;
return s;
}
var pattern = 'GT';
//var init = 00000; // <- here is 'init' is 0 already, so you can drop it
var recordnumber = 1; // This value i get dynamically.
var result = pattern + leadzeros(recodnumber, 5);
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Emberjs应用程序加载在除Index之外的所有路由上
- 在chrome.tabs.onCreated之后加载HTML页面
- 单击F5时如何停止页面加载
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 跟踪在页面加载时应用内联样式的JavaScript
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- jQuery Lazy加载动画滚动
- 是否可以在不加对象名称前缀的情况下调用对象的函数
- TypeError: e.fixers 是动态加载的 iframe 上无前缀的未定义错误
- 如何在不刷新的情况下重新加载号码
- 从 ASP 加载的 URL 中删除 http:// 前缀
- 使用CSS3的供应商特定前缀的性能和DOM加载
- 用于基于状态前缀验证电话号码的复杂正则表达式
- 屏蔽带有可选字母前缀的电话号码格式的输入
- 我如何给一个号码加前缀和加零?
- 如果名称与公共方法相同,我应该在前缀前加this.myPrivateMethod吗