JavaScript - campo de texto para insertar mac

 
Vista:
sin imagen de perfil

campo de texto para insertar mac

Publicado por reynel (2 intervenciones) el 30/03/2017 03:16:23
Hola a todos necesito que me ayuden con este código quiero poner una Mac en el campo de texto y que me complete con los : punto solo ,pero es que solo me funciona si inserto numero si pongo letras se enloquece solo necesito que me funcionen las letras de la (A) a la( F)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script>
function format(input)
{
var mac = input.value.replace(/\:/g,'');
 
mac = mac.toString().split('').reverse().join('').replace(/(\d{2})/g,'$1:');
mac = mac.split('').reverse().join('').replace(/^[\:]/,'');
input.value = mac;
}
 
</script>
<form>
<input type="text" maxlength="17" placeholder="0A:1B:2C:3D:4E:5F" onkeyup="format(this)" onchange="format(this)">
</form>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 582
Bronce
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

campo de texto para insertar mac

Publicado por kip (106 intervenciones) el 30/03/2017 07:11:23
Hola, creo que en el codigo que tienes ahora solo tomas en cuenta los numeros mas no las letras, he creado una funcion a ver si te sirve:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function mac_format(input) {
    var val = input.value.toString();
    if (/\d+|[A-F]/i.test(val)) {
        var content = val.match(/([\dA-F])/gi),
            arr = [];
        for (var i = 0, s = content.length; i < s; i += 2) {
            if (content[i + 1] !== undefined) {
                arr.push(content[i] + content[i + 1]);
            } else {
                arr.push(content[i]);
            }
        }
        var n_val = arr.join().replace(/\,/g, ":").toUpperCase();
        if (val !== n_val) input.value = n_val;
    } else {
        input.value = "";
    }
}

Para usarla creo que basta con colocarla en el evento onkeyup.

1
<input type="text" maxlength="17" placeholder="0A:1B:2C:3D:4E:5F" onkeyup="mac_format(this)" >

Pruebala a ver si te sirve.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

campo de texto para insertar mac

Publicado por reynel (2 intervenciones) el 30/03/2017 13:49:47
Si me sirvió gracias es lo que quería
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar