Código de JavaScript - Máscara solo mayúsculas en input o textarea

Imágen de perfil

Máscara solo mayúsculas en input o textareagráfica de visualizaciones


JavaScript

estrellaestrellaestrellaestrellaestrella(2)
Actualizado el 17 de Junio del 2017 por kip (Publicado el 16 de Junio del 2017)
1.219 visualizaciones desde el 16 de Junio del 2017. Una media de 28 por semana
Código simple que permite establecer una máscara a un input o textarea, convirtiendo todas las letras en mayúsculas, ya sea escribiendo o pegando contenido en alguno de los dos elementos.

Para aplicar la máscara debes agregar la clase 'upper' a tu elemento y colocar el codigo al final, antes del cierre de etiqueta del body o dentro de la función que establezcas como ejecución en el evento window.onload

1.0
estrellaestrellaestrellaestrellaestrella(2)

Actualizado el 28 de Septiembre del 2017 (Publicado el 16 de Junio del 2017)gráfica de visualizaciones de la versión: 1.0
1.220 visualizaciones desde el 16 de Junio del 2017. Una media de 28 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>UPPER MASK</title>
  </head>
  <body>
      <input type="text" class="upper"><br>
      <input type="text" class="upper"><br>
      <textarea rows="6" cols="35" class="upper"></textarea><br>
      <textarea rows="6" cols="35" class=""></textarea><br>
    <script>
        var inputs = [].slice.call(document.querySelectorAll('.upper'));
        var toUpper = function(v) { return v.toUpperCase(); };
        var transform = function(e, input, value) {
            var caretPos;
            if (typeof value === 'undefined') {
                var char = window.event ? e.which : e.keyCode;
                var string = String.fromCharCode(char);
                caretPos = 1;
            } else {
                var string = value;
                caretPos = value.length;
            }
            var value = input.value;
            var valBef = value.slice(0, input.selectionStart);
            var valAft = input.value.slice(valBef.length, input.value.length);
            if (/[a-z\u0080-\u00FF]/.test(string)) {
                e.preventDefault();
                input.value = valBef;
                input.value += string.replace(/[a-z\u0080-\u00FF]+/g, toUpper);
                input.value += valAft;
                input.setSelectionRange(valBef.length + caretPos, valBef.length + caretPos);
            }
        };
        inputs.forEach(function(input) {
            input.addEventListener('keypress', function(e) {
                transform(e, this);
            });
            input.addEventListener('paste', function(e) {
                var value = e.clipboardData.getData('text');
                transform(e, this, value);
            });
            input.addEventListener('drop', function(e) {
                var value = e.dataTransfer.getData('text');
                transform(e, this, value);
            });
        });
    </script>
  </body>
</html>



Comentarios sobre la versión: 1.0 (2)

Imágen de perfil
xve
16 de Junio del 2017
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
Imágen de perfil
ScriptShow
19 de Junio del 2017
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4026  
Revisar política de publicidad