quarta-feira, 28 de janeiro de 2015

Regex para endereço MAC

Fala aí galera que acompanha o blog Preciso Estudar Sempre, lá vai mais uma dica rápida para quem precisa de uma máscara para campos de texto.

A máscara de hoje valida Mac Address. Porém, você sabe o que é um Mac Address ?

Segundo a Wikipedia um Mac Address é:

Endereço MAC (Media Access Control) é um endereço físico associado à interface de comunicação, que conecta um dispositivo à rede. O MAC é um endereço “único”, não havendo duas portas com a mesma numeração, é usado para controle de acesso em redes de computadores. Sua identificação é gravada em hardware, isto é, na memória ROM da placa de rede de equipamentos como desktops, notebooks, roteadores, smartphones, tablets, impressoras de rede, etc. 
http://pt.wikipedia.org/wiki/Endere%C3%A7o_MAC 

Agora que já sabemos o que é um Mac Address precisamos conhecer seu formato. É formado por um conjunto de 6 bytes separado por dois pontos (“:”) ou hífen (“-”), sendo cada byte representado por dois algarismos na forma hexadecimal, como por exemplo: "01:23:45:67:89:ab". Cada algarismo em hexadecimal corresponde a uma palavra binária de quatro bits, desta forma, os 12 algarismos que formam o endereço totalizam 48 bits.

Possuímos nesse momento o conhecimento do que é um Mac Address e como ele é representado. Então, podemos montar a regex para validação.

 ^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$  

Vamos entender o que montamos ?
  1. ^ e $ -> Os caracteres ^ e $, respectivamente, no início e fim da expressão regular denotam um intervalo fechado, ou seja, o texto que for avaliado só pode conter o mac address.
  2. [0-9a-fA-F]{2} -> Defino um intervalo fechado para o par hexadecimal o qual, aceita números de 0 à 9, letras minúsculas e maiúsculas de "a" à "f". O {2} representa que o intervalo será repetido duas vezes.
  3. : -> Representa o dois pontos do Mac Address.
  4. {5} -> Representa que o par hexadecimal será repetido cinco vezes.
  5. [0-9a-fA-F]{2} -> Representa o mesmo explicado no passo 2, ou seja, o último par hexadecimal.

Agora é usar e partir para o abraço !

Amigos, espero ter ajudado. Caso você tenha alguma dúvida, sugestão ou crítica, deixe aí embaixo nos comentários ou na nossa página do facebook.

Facebook: https://www.facebook.com/precisoestudarsempre/

Referências:
http://pt.wikipedia.org/wiki/Endere%C3%A7o_MAC

Nenhum comentário: