我需要验证一个爱尔兰电话号码,但我不想让用户不友好,许多人习惯于写那些电话号码,括号包裹他们的区号,然后是5到7位的数字,一些在区号或移动运营商之间添加空格。
爱尔兰座机号码的格式是1到4位数之间的区号和5到8位之间的数字。
e.g。
(021) 9876543
(01)9876543
01 9876543
(0402)39385
我正在寻找Javascript / PHP的正则表达式。
答案 0 :(得分:2)
可能值得一看Validate_IE
类 - 它包含一个phoneNumber
功能,可以处理各种可能的爱尔兰电话号码(有/无区号,手机号码,移动短码,等)。
此外,如果您正在处理爱尔兰数据,它还有一系列其他方法可能有一天可以用来验证从爱尔兰银行帐户到驾驶执照号码的所有内容,非常值得一看!
答案 1 :(得分:1)
答案 2 :(得分:1)
这可能有用。它应该考虑电话号码中任何地方的空间出现。
preg_match('|^\s*\(?\s*\d{1,4}\s*\)?\s*[\d\s]{5,10}\s*$|', $phone);
人们有时会将电话号码部分分成2个部分。
更新:如果您希望同时验证电话号码和修剪空格,可以这样做:
if (preg_match('|^\s*(\(?\s*\d{1,4}\s*\)?\s*[\d\s]{5,10})\s*$|', $phone, $m))
{
echo $m[1];
}
答案 3 :(得分:1)
如果是我,我会删除空格和括号,然后验证它在最小和最大长度之间。