我需要一点帮助。此代码正确显示我输入的每种格式 - 除非它是xxx.xxx.xxxx
它保持了时间!如何过滤期间?
preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/", "$1-$2-$3", $phone_enter)
答案 0 :(得分:4)
您需要更新查询,以便允许。(点),我添加了\.?
,这意味着点可能显示为零或一次。
preg_replace("/([0-9]{3})\.?([0-9]{3})\.?([0-9]{4})/", "$1-$2-$3", $phone_enter)
答案 1 :(得分:4)
我会这样做:
preg_replace('/(\d{3})([.-])?(\d{3})\2(\d{4})/', '$1-$3-$4', $phone_number);
\d
是[0-9]
的简写。使用反向引用意味着您可以输入“123.456.7890”或“123.456.7890”但不能输入“123.4567890”或“123.456-7890”。
另请注意,其他国家/地区的电话号码格式不同,如果这与您正在进行的操作相关。