Hola,
Consulta, esto lo quieres hacer por algo en especial con JS en tiempo real? lo otro, esto se envia en algun momento?
Veo dos soluciones a esto, puedes llenar el input con funciones para validarlo en tiempo real, ya que como tu mismo indicas pueden pegar con el mouse, o seleccionar, etc, lo mas "logico" seria validarlo cuando se envia esto o lo otro seria aplicarle un simple
maxlength de html
Código:
<input name="hola" type="text" id="hola" maxlength="20" />
Saludos