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 unfrie开发者_Python百科ndly, 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.
It may be worth taking a look at the Validate_IE
class - it contains a phoneNumber
function which handles a variety of possible Irish phone numbers (with/without area codes, mobile numbers, mobile shortcodes, etc).
Also, if you're working with Irish data, it has a series of additional methods that may one day come in handy for validating everything from Irish bank accounts to driving licence numbers, well worth a look!
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];
}
If it were me, I'd strip spaces and brackets, then verify it's between the minimum and maximum length.
Try this one:
http://regexlib.com/REDetails.aspx?regexp_id=2485
Modified version excluding the area code:
\d{3}\s\d{4}
精彩评论