3

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.

4

4 回答 4

2

可能值得一看这个Validate_IE类 - 它包含一个phoneNumber处理各种可能的爱尔兰电话号码的函数(带/不带区号、手机号码、手机短代码等)。

此外,如果您使用的是爱尔兰数据,它还有一系列额外的方法,有朝一日可能会派上用场,用于验证从爱尔兰银行账户到驾驶执照号码的所有内容,非常值得一看!

于 2011-10-16T19:15:15.710 回答
1

Try this one:

http://regexlib.com/REDetails.aspx?regexp_id=2485

Modified version excluding the area code:

\d{3}\s\d{4}
于 2010-06-02T11:59:58.047 回答
1

这可能会奏效。它应该考虑到电话号码中任何地方出现的空格。

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

人们有时会用空格将电话号码部分分成两部分。

更新:如果您希望同时验证电话号码和修剪空格,您可以这样做:

if (preg_match('|^\s*(\(?\s*\d{1,4}\s*\)?\s*[\d\s]{5,10})\s*$|', $phone, $m))
{
    echo $m[1];
}
于 2010-06-02T12:03:58.323 回答
1

如果是我,我会去掉空格和括号,然后验证它是否在最小和最大长度之间。

于 2010-06-02T12:05:34.093 回答