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