-3

我有一个电话验证系统。这允许客户输入电话号码。但是,如何0从字符串的开头删除所有 's?

例如,我可以substr用来删除一两个0,但如果客户输入十个或十二个怎么办?

即客户可以输入以下数字之一:

  • 077223704750
  • 0077223704750
  • 00000077223704750
  • 0000000000077223704750`

我怎样才能0从一开始就删除所有的,而不是从字符串的其余部分?

4

4 回答 4

15

利用ltrim()

$string = ltrim($string, '0');

工作演示

于 2013-05-09T10:55:38.123 回答
8

真的吗?前导 0 是拨号前缀——如果你把它们去掉,电话号码就不一样了,可能(很可能)是不可拨号的。您还会遇到加号“+”,这是一个国际拨号前缀,并且是(意味着)从一个位置到另一个位置的标准。

如果您真的想删除前导 '0',请使用 ltrim。

$trimmed = ltrim( $phone, '0');
于 2013-05-09T10:58:16.113 回答
4

使用ltrim函数。

$number=  ltrim($number,'0');

演示。

于 2013-05-09T10:56:00.313 回答
4

你也可以使用正则表达式

$result = preg_replace('/^0*/', '', $number);
于 2013-05-09T10:56:56.437 回答