我试图找到一种方法来将两个单词与句点分开以匹配Javascript中的某个字符长度。例如,假设我创建了一个函数,其中我想要的长度为20个字符,并输入了“Dapper'和唐纳德'。我需要找到一种方法来填充字符串,并获得“Dapper ........ Donald'”的结果。我很失落,所以我很感激任何帮助。
答案 0 :(得分:1)
这应该这样做。虽然当字符串更长而不是20个字符
时它不会处理
function pad(one, two){
var dots = "";
while((one + dots + two).length < 20){
dots += ".";
}
return (one + dots + two);
}
alert(pad("Dapper","Donald"));
&#13;
答案 1 :(得分:0)
您可以使用substr
计算所需的点数,并从较长的字符串中获取这些点:
function padMiddle(word1, word2, len) {
var dots = len - word1.length + word2.length;
return word1 + '....................'.substr(0, dots) + word2;
}
用法:
var padded = padMiddle('Dapper', 'Donald', 20);
要使其适用于任何长度,您可以通过多次重复相同的字符来创建字符串。见Repeat Character N Times
答案 2 :(得分:0)
这将有效:
function pad(str1, str2, maxlength) {
var lengthOf2str = str1.length + str2.length,
dots,
result;
if (maxlength > lengthOf2str) {
dots = new Array(maxlength - lengthOf2str + 1).join('.');
result = str1 + dots + str2;
} else {
result = str1 + str2;
}
return result;
}
alert(pad('Dapper', 'Donald', 20));
&#13;