Search code examples
javascriptphpregexphone-number

Need a regular expression for an Irish phone number


I need to validate an Irish phone number but I don't want to make it too user unfriendly, many people are used to writing there phone number with brackets wrapping their area code followed by 5 to 7 digits for their number, some add spaces between the area code or mobile operator.

The format of Irish landline numbers is an area code of between 1 and 4 digits and a number of between 5 to 8 digits.

e.g.

(021) 9876543  
(01)9876543  
01 9876543  
(0402)39385

I'm looking for a regular expression for Javascript/PHP.


Solution

  • This might work. It should account for appearances of spaces anywhere in phone number.

    preg_match('|^\s*\(?\s*\d{1,4}\s*\)?\s*[\d\s]{5,10}\s*$|', $phone);
    

    People sometimes split phone number part into 2 parts by spaces.

    Update: if you wish to validate phone number and trim spaces at the same time, you can do it like this:

    if (preg_match('|^\s*(\(?\s*\d{1,4}\s*\)?\s*[\d\s]{5,10})\s*$|', $phone, $m))
    {
        echo $m[1];
    }