[thelist] Validating Irish Phone Numbers
James Hardy
evolt at weeb.biz
Thu Dec 9 04:07:06 CST 2004
Keith Gaughan wrote:
> You wouldn't believe how much Irish phone numbers suck.
>
> You see, unlike more sane telephone companies, Eircom (or rather the
> Department of Post and Telegraph, which it was part of when the "system"
> was devised) created a rather ad-hoc scheme, the rationale first being
> "nobody outside of Dublin is ever going to need a phone", then "nobody
> outside of the towns is ever going to need a phone", then "nobody in
> Connacht is ever going to need a phone", then "everybody who's ever
> going to be getting a line installed already has one", and finally "oh
> crap! We really screwed that up!"
>
> The area code can be between two and four digits long. All Dublin
> numbers take 01 as an area code, whilst great chunks of the west of the
> country, where the first two digits of the area code are 09, take four
> digit codes, e.g 0901, 0904.
>
> Everything between 01 and 09 uses three digit codes, for instance 021
> (The City of Cork), 072 (part of County Sligo).
>
> The actual phone numbers can range from five digits to seven. This is
> in flux right now as they're slowly turning all the five- and six-digit
> numbers into seven digit ones. I don't know how many are left, but I'm
> pretty sure all of the 09?? numbers are still five digits.
>
> Numbers (generally) don't start with a "1", e.g. 021 4444444. However,
> when Vodafone bought Eircell (Eircom's former mobile phone division),
> they started to issue mobile phone numbers starting with "1", e.g.
> 087 1111111. Note though that the second digits of these numbers can't
> be "8" or "5"--e.g. 1811111 or 1511111--for reasons I'll explain a bit
> later. The mobile area codes are 088 (old analogue), 087 (formerly
> Vodafone), 086 (formerly O2), 085 (formerly Meteor). I think there may
> have been an 089 area code, but that's well defunct by now. They'll
> probably open up the area code range from 080 to 084 soon enough.
>
> System? What system?
>
> Then there's the numbers whose area code starts with "1". These are
> Freefone, lo-call, premium, etc. rate numbers. These ones actually
> have a sane structure, which is regexable: 1[58]\d\d [1-9]\d{5}
>
> Mind you, knowing this isn't going to be useful to you, seeing as
> I don't think you're ever going to be validating these.
>
> I don't envy you. It might be regexable, but not without considerable
> pain: I'd write a validation function if I were you, preferably a
> data-driven one.
>
> K.
>
Argh, and there was I hoping for some semblance of sanity.
Unfortunately I don't really want to do a full routine, while we are
only covering the two nations at the moment, We will probably be doing
more and I don't fancy doing 200 odd functions. So unless it all becomes
too much, I will stick with a regex for each number format.
From what you are saying I think /0[1-9][0-9]{5,9}/ would include all
valid numbers (I know it would include many many invalid ones but at the
moment I am doing no validation at all for Irish numbers and I would
accept "rhubarb" as a legit number. So any validation is better than
none). Is that right?
Likewise would /08[0-9]{5,9}/ include all valid mobile numbers?
Thanks
James
More information about the thelist
mailing list