2012-08-17 80 views
5

Duplicar posible:
What is a regular expression for a MAC Address?jQuery/JavaScript dirección MAC de validación

me gustaría validar una cadena para asegurar que se trata de una dirección MAC válida.

¿Alguna idea en Jquery o Javascript?

Tengo el siguiente:

var mystring= '004F78935612' - This type of MAC Address 
var rege = /([0-9a-fA-F][0-9a-fA-F]){5}([0-9a-fA-F][0-9a-fA-F])/; 
alert(rege.test(mystring)); 

Pero no es todo lo que precisa.

Ie. Mi caja de pañuelos es una dirección MAC válida?!?

Gracias!

+0

casi, sólo la forma de implementarlo en jQuery o JavaScript – Pinch

+0

@Pinch: La expresión en esa respuesta va a funcionar en JavaScript, así . –

Respuesta

10

Tomando la expresión regular de this question, implementarías que de este modo:

var mystring= 'Hello'; 

var regex = /^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$/; 

alert(regex.test(mystring)); 

http://jsfiddle.net/s2WDq/

Esta expresión regular busca el principio de la cadena ^, luego dos dígitos hexadecimales [0-9A-F]{2}, a continuación, una dos puntos [:-], cinco veces más (...){5}, luego un grupo final de DOS dígitos hexadecimales [0-9A-F]{2}, y finalmente el final de la cadena $.

Editar: en respuesta a su comentario, pellizco, ese formato no se considera una dirección MAC válida. Sin embargo, si usted quiere que lo soporte, simplemente añadir un ? en el lugar correcto:

/^([0-9A-F]{2}[:-]?){5}([0-9A-F]{2})$/ 
// question mark^allows the colon or dash to be optional 
+0

Aprecio tu trabajo, pero una dirección MAC en mi caso se ve como 004F78935612 – Pinch

+0

El patrón modificado para tu entrada podría ser '/^([0-9A-F] {2}) {6} $ /', pero eso no es válido [ notación] (https://en.wikipedia.org/wiki/MAC_address). – Bryan

+0

@Pinch ver mi edición. tenga en cuenta que, según las especificaciones oficiales, esa NO es una dirección MAC válida. – jbabey

Cuestiones relacionadas