phone 数字的整数或字符串?

Integer or String for a phone number?

我想知道 phone 数字是否必须使用字符串或整数?

我试过 integer 但我的验证有问题。

... table->integer('phone'); ...

在我的验证中,我必须有 8 到 11 个字符。

我已经试过了,但是没有用:

'phone' => 'required|numeric|between:8,11',

我觉得 string 更好?

我觉得验证应该是这样的

'phone' => 'required|numeric|min:8|max:11',

如果您想对要存储(插入)的 numbers 进行一些计算,则必须使用 int(在 Laravel 迁移中:它是integer) 作为 field 的数据类型。但是如果你不想用它做一些计算,那么使用数据类型作为varchar(在Laravel迁移中:它是string)作为字段的数据类型。

因此,在存储 Phone numbers 时,您可以使用 varchar 数据类型,因为您不必使用 Phone 进行计算 数字。

所以在这种情况下,您的验证应该是这样的:

'phone' => 'required|string|min:8|max:11'

您也可以使用

'phone' => ' required|digits:10'

你可以试试这个:

'phone' => 'required|min:8|max:11|regex:/^([0-9\s\-\+\(\)]*)$/',