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!"
So before I go and attempt a regex or validation function for just landlines in Ireland, does anybody have something similar already done that they might share? Or perhaps any pointers to information necessary to implement this, other than the linked post?
Obviously I'm using python, but any other implementation would be useful so that I can port it.
Write a script to ring it. If it dials, then its a valid phone. Now
write another script to text it. If you get a successful delivery,
then its a mobile phone. Done!
> 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!"
> So before I go and attempt a regex or validation function for just
> landlines in Ireland, does anybody have something similar already done
> that they might share? Or perhaps any pointers to information
> necessary to implement this, other than the linked post?
> Obviously I'm using python, but any other implementation would be
> useful so that I can port it.
> Cheers,
> Tim ^,^
-- Daniel Kersten.
Leveraging dynamic paradigms since the synergies of 1985.
> So before I go and attempt a regex or validation function for just > landlines in Ireland, does anybody have something similar already done > that they might share? Or perhaps any pointers to information > necessary to implement this, other than the linked post?
> Obviously I'm using python, but any other implementation would be > useful so that I can port it.
It's pretty much diminishing returns after checking for valid length
and prefix, since you can't verify the number given is in the hands of
the person filling out the form, unless you use some kind of
telephone/SMS verification, after which you still can't know whether
it's just some random phone box.
You may also end up baking the current state of the Irish telephone
system into a regex that might waste a lot of someone else's time in
the future. ;) I guess it depends on what you need the phone number
for. If it's just an ancillary contact point for an account, then a
basic sanity check would be sufficient.
> 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!"
> So before I go and attempt a regex or validation function for just
> landlines in Ireland, does anybody have something similar already done
> that they might share? Or perhaps any pointers to information
> necessary to implement this, other than the linked post?
> Obviously I'm using python, but any other implementation would be
> useful so that I can port it.
> Cheers,
> Tim ^,^
-- It is better to be wrong than to be vague.
— Freeman Dyson
Don't make the validation too good. If there is one thing I hate, it is having to try and invent validating postcodes and landlines (when I was living in Ireland I had neither) in order to use a website.
Thanks all! It doesn't make sense to go beyond a small sanity check, so I've thrown this regex together based on comreg's current and planned numbers, which seems to do the trick:
0(1|[2,3,6,7,9]\d|[4,5]\d{1,2})[1-9]\d{4,6}
> If there is one thing I hate, it is having to try and invent validating > postcodes and landlines (when I was living in Ireland I had neither) in > order to use a website.
I hate this too. In this case, landlines are required from institutions who use the service, so individuals aren't effected. :-)