我需要传递一个至少长度为10的字符串。如何添加0来填充剩余的空格,以便它的长度始终为10?
这是我尝试的但是没有按预期工作。
var passString = "Abcdefg";
if (passString.length<10){
var len = passString.length;
var missing = 10-len;
passString = passString + Array(missing).join("0")
}
答案 0 :(得分:1)
请尝试以下代码
var passString = "Abcdefg";
if (passString.length<10){
var len = passString.length;
var missing = 10-len;
passString =passString+ new Array(missing + 1).join("0");
}
感谢
答案 1 :(得分:1)
你可以在一行中完成(我喜欢给一个衬垫)
passString = (passString + Array(11).join('0')).substr(0,Math.max(10,passString.length))
答案 2 :(得分:1)
Concat在字符串末尾加零,并使用slice或substring或substr。
var passString = "ABC";
var fixed = (passString + "0000000000").slice(0,10);
console.log(fixed);
根据评论,我跳过if,但你可以做一个基本的if
var passString = "ABC";
var fixed = passString;
if (passString.length<10) {
fixed = (passString + "0000000000").slice(0,10);
}
console.log(fixed);
或三元运算符
var passString = "ABC";
var fixed = passString >=10? passString : (passString + "0000000000").slice(0,10);
console.log(fixed);
或只是用if
覆盖原文var passString = "ABC";
if (passString.length<10) {
passString = (passString + "0000000000").slice(0,10);
}
console.log(passString);