2012-08-17 29 views
5

Powiel możliwe:
What is a regular expression for a MAC Address?JQuery/JavaScript MAC Address Validation

chciałbym sprawdzić poprawność ciąg, aby zapewnić, że jest to ważny adres MAC.

Wszelkie pomysły w Jquery lub JavaScript?

mam następujące:

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)); 

ale jej nie wszystko, co prawdziwe.

Tzn. Moje pudełko z bibułką to prawidłowy adres MAC?!?

Dzięki!

+0

prawie, podobnie jak wdrożyć go w JQuery lub JavaScript – Pinch

+0

@Pinch: Wyrażenie w tej odpowiedzi będzie działać w JavaScript, a także . –

Odpowiedz

10

Biorąc wyrażenie regularne z this question, należy wdrożyć go tak:

var mystring= 'Hello'; 

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

alert(regex.test(mystring)); 

http://jsfiddle.net/s2WDq/

To wyrażenie regularne wyszukuje początku łańcucha ^, następnie dwie cyfry szesnastkowymi [0-9A-F]{2}, a następnie dwukropek lub kreska [:-], pięć razy nad (...){5}, następnie ostatnia grupa DWÓCH cyfr szesnastkowych [0-9A-F]{2}, a na końcu koniec ciągu $.

Edytuj: w odpowiedzi na Twój komentarz, Szczypta, ten format nie jest uznawany za poprawny adres MAC. Jednakże, jeśli chce go poprzeć, wystarczy dodać ? we właściwym miejscu:

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

Doceniam twoją pracę, ale adres MAC w moim przypadku wygląda na 004F78935612 – Pinch

+0

Zmodyfikowany wzorzec dla twojego wejścia może być '/^([0-9A-F] {2}) {6} $ /", ale to nie jest prawidłowe [ notacja] (https://en.wikipedia.org/wiki/MAC_address). – Bryan

+0

@Pinch zobacz moją edycję. należy pamiętać, że zgodnie z oficjalną specyfikacją NIE jest to prawidłowy adres MAC. – jbabey