Luk*_*een 5 php regex phone-number preg-match
我有一个电话号码输入字段,允许用户以他们想要的任何格式添加电话号码(555-555-5555、(555) 555 - 5555 等)。
由于它只是一个电话号码字段,因此我可以忽略除字段中的数字之外的所有内容。
我目前正在使用以下代码。它提取了所有数字,但问题是它们没有按顺序排列 - 它的顺序是混乱的。
如何按照原始字符串中出现的顺序提取数字?
preg_match_all('/\d+/', $Phone, $matches);
$Phone = implode('', $matches[0]);
Run Code Online (Sandbox Code Playgroud)
编辑:它们实际上并不是来自该函数的混乱顺序 - 我将数字插入到 int(10) 数据库字段中,这导致了混乱。但是,下面的答案仍然是实现我的目标的更有效的方法。
用于preg_replace删除任何非数字:
$numbers = preg_replace('/[^\d]/','',$Phone);
Run Code Online (Sandbox Code Playgroud)
注意:'[^\d]' 可以替换为 '\D'(在非 unicode 模式下安全)。
| 归档时间: |
|
| 查看次数: |
2283 次 |
| 最近记录: |