是preg_replace的格式,以去除电话号码中的前导“ 1”和不需要的字符?

use*_*707 3 php mysql

在我的PHP代码中,我能够使用以下命令从电话号码中删除连字符和括号

preg_replace('/\D+/', "", $cell);
Run Code Online (Sandbox Code Playgroud)

要么

preg_replace('/[ )(.-]/', "", $cell);
Run Code Online (Sandbox Code Playgroud)

两个问题:

(1)上面哪种格式最适合删除所有不需要的字符(,-,..等以及字母字符)。

(2)如果用户输入的话,我还需要删除开头的“ 1”(美国的国家代码)

God*_*win 5

删除非数字的方法有很多,但是我建议您使用最适合您的方法,即当您几个月后再次查看代码时,这似乎是最直观,最容易理解的方法。

您的\D作品^1还不错,但是添加也可以替代1您要找的领导。

preg_replace('/^1|\D/', "", $cell);
Run Code Online (Sandbox Code Playgroud)