14 lines in JS? O'rly?<p>Even with such a strict check of the padding character length (with an exception) and a period by default it's a four-liner at most.<p><pre><code> leftPad = (str, len, pd = '.') => {
if(pd.length !== 1) throw 'Invalid input'
else return Array(len > str.length ? 1+len-str.length : 0).join(pd) + str
}</code></pre>