JS - 用句点分隔字符串以满足特定字符长度

时间:2015-01-16 08:45:50

标签: javascript arrays

我试图找到一种方法来将两个单词与句点分开以匹配Javascript中的某个字符长度。例如,假设我创建了一个函数,其中我想要的长度为20个字符,并输入了“Dapper'和唐纳德'。我需要找到一种方法来填充字符串,并获得“Dapper ........ Donald'”的结果。我很失落,所以我很感激任何帮助。

3 个答案:

答案 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;
&#13;
&#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)

这将有效:

&#13;
&#13;
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;
&#13;
&#13;