1
我有这样的表达:
$regex_phone = '/^(?:1(?:[. -])?)?(?:\((?=\d{3}\)))?([2-9]\d{2})'
.'(?:(?<=\(\d{3})\))? ?(?:(?<=\d{3})[.-])?([2-9]\d{2})'
.'[. -]?(\d{4})(?: (?i:ext)\.? ?(\d{1,5}))?$/';
if(!preg_match($regex_phone, $data['phone'])){
$error[] = "Please enter a valid phone number.";
}else{
$data['phone'] = preg_replace($regex_phone, '($1) $2-$3 ext.$4', $data['phone']);
}
这将需要一个电话号码,例如:803-888-8888转2以及803-888-8888
首先数字格式为: (803)888-8888 EXT.2 - 所期望的效果
第二数字格式为:(803)888-8888分机 - 空白扩展名
如何设置它,以便如果$ 4为空,即分机。不会显示?
非常感谢您提供的帮助。我希望这很清楚。
甚至没有想获得的preg_match变量。像魅力一样工作。我修改了一下,以适应我的编码风格,但isset()和$ m是我所需要的。谢谢rbo – bradenkeith 2010-04-27 17:15:20