Php 如何在Laravel中跳过输入表单中的第一个零?
这是字段名“电话号码”。当用户可以输入电话号码如“0132344234”或“1323442234”时,我希望在数据库表中存储数据而不前导零 输入='0132344234'或'1323442234' 存储='1323442234'(跳过第一个零)Php 如何在Laravel中跳过输入表单中的第一个零?,php,laravel,Php,Laravel,这是字段名“电话号码”。当用户可以输入电话号码如“0132344234”或“1323442234”时,我希望在数据库表中存储数据而不前导零 输入='0132344234'或'1323442234' 存储='1323442234'(跳过第一个零) ltrim将修剪字符串中的所有前导字符,不会删除任何其他字符 doc:有很多方法可以从字符串的第一部分删除0 如果它只包含数字,则将其强制转换为整数 $var = (int)$var; 您可以按如下方式使用左修剪: $var = ltrim($var
ltrim
将修剪字符串中的所有前导字符,不会删除任何其他字符
doc:有很多方法可以从字符串的第一部分删除
0
如果它只包含数字,则将其强制转换为整数
$var = (int)$var;
您可以按如下方式使用左修剪:
$var = ltrim($var, '0');
只需在变量内部使用+
:
echo +$var;
将其乘以1:
$var = "0000000000010";
print $var*1; // prints 10
注意:如果您的字符串中没有数字,那么只使用
ltrim
只需使用$phone=(int)$request->input('phone')
,但是如果使用laravel验证,为什么要删除数字?我想存储带有国家代码的电话。。比如县代码“+880”和电话“0132344234”。因此,数字为“+8800132344234”,这是无效的。我想要“+8801323442234”这个格式为什么不使用正则表达式?我的意思是,使用正则表达式要简单得多,如果你强制用户使用,那么你可以使用客户端js或使用laravel验证正则表达式示例\+[0-9]{0,10}
@BenyaminLimanto如果电话号码的int值大于~4,那么你在请求32位系统上出现溢出。29B@Richard嗯,因为我从来没有遇到过它。我想可能每个国家的情况都不一样,但我想在我的国家,它只需要10-12位,而且我现在从来没有使用过32位,所以对我来说是可行的。
$var = "0000000000010";
print $var*1; // prints 10