O Chrome conta caracteres incorretos na área de texto com o atributo maxlength
Aqui está um exemplo:
<code>$(function() { $('#test').change(function() { $('#length').html($('#test').val().length) }) })</code>
<code><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <textarea id=test maxlength=10></textarea> length = <span id=length>0</span></code>
Preencha a área de texto com linhas (um caractere em uma linha) até que o navegador permita. Quando terminar, deixe a área de texto e o código js também calculará os caracteres.
Então, no meu caso, eu poderia inserir apenas 7 caracteres (incluindo espaços em branco) antes de o Chrome me parar. Embora o valor do atributo maxlength seja 10: