E-Scribe News : a programmer’s blog

About Me

PBX I'm Paul Bissex, and e-scribe.com is my consulting business. I build web applications using open source software, especially Django. In the '90s I did graphic design for newspapers and magazines. Then I wrote technology commentary and reviews for Wired, Salon.com, Chicago Tribune, and lots of little places you've never heard of. Feel free to email me.

Book

Python Web Development with Django I'm co-author of "Python Web Development with Django", an excellent guide to my favorite web framework. Published by Addison-Wesley, it is available from Amazon and your favorite technical bookstore as well.

Colophon

Built using Django, served by Apache and mod_wsgi. The database is SQLite. The operating system is FreeBSD, on a VPS hosted at Johncompanies.com. Comment-spam protection by Akismet. Vintage topo imagery from the Maptech archive. The markup engine is Markdown.

Pile o'Tags

Stuff I Use

Akismet, del.icio.us, Django, dpaste.com, Emacs, FreeBSD, Freenode, jQuery, LaunchBar, MacPorts, Markdown, Mercurial, OS X, Postfix, Python, SQLite, Subversion, TextMate, Trac, Ubuntu Linux, wmii

Spam Report

At least 71104 pieces of comment spam killed since January 2008, mostly via Akismet.

A MAC address regex

Today I worked on a form and script used for registering users on a restricted-access wireless network. Here's a nice compact regex for checking that MAC addresses have been entered in the correct format. (If you're using this in a double-quoted PHP string, escape the "$" with a backslash.)

/^([0-9A-F]{2}:){5}[0-9A-F]{2}$/i

Friday, September 8th, 2006
+
2 comments

Comment from Bjoern , 8 months later

Hi,

great regex!
exactly what I was looking for.

It only does not match lower case
also the windows output of ipconfig/all (using a dash as delimiter) is not covered

here's my addition:
/^([0-9a-fA-F]{2}[:-]){5}[0-9a-fA-F]{2}$/i

Comment from Paul , 8 months later

Thanks for the update, Bjoern. The "/i" modifier at the end already makes it case-insensitive (assuming you're using Perl-compatible regexes), but adding the dash as a separator is a good improvement.

Post a comment

Thanks for reading! Please note: Your comment will not appear until approved, which may take a few hours or more. Spammers will be torpedoed.


(Will not be shared)

(Optional)