Chrome cuenta los caracteres incorrectamente en área de texto con el atributo maxlength
Aquí hay un ejemplo:
<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>
Rellene el área de texto con líneas (un carácter en una línea) hasta que el navegador lo permita. Cuando termine, deje textarea y el código js también calculará los caracteres.
Entonces, en mi caso, podría ingresar solo 7 caracteres (incluidos los espacios en blanco) antes de que Chrome me detuviera. Aunque el valor del atributo maxlength es 10: