【发布时间】:2021-11-11 09:55:14
【问题描述】:
我正在尝试在表单中输入荷兰语 phoneNumber 字段。但是当我输入第一个数字 0 时,它会在我输入第二个数字时被删除。
荷兰电话号码:06 + 8 位 (0612345678) 或 0 + 2 位(地区代码)+ 7 位 (012 1234567) 或 316 + 8 位 (31612345678)。
<el-input
v-model.number="form.phoneNumber"
@keypress="isPhoneNumber(form.phoneNumber)"
:placeholder="$t('phonenumber')"
></el-input>
用这个作为验证器:
phoneNumber: [
{
required: true,
type: "text",
pattern: "^(?:0|(?:\+|00) ?31 ?06 ? )(?:(?:[1-9] ?(?:[0-9] ?){8})|(?:6 ?-? ?[1-9] ?(?:[0-9] ?){7})|(?:[1,2,3,4,5,7,8,9]\d ?-? ?[1-9] ?(?:[0-9] ?){6})|(?:[1,2,3,4,5,7,8,9]\d{2} ?-? ?[1-9] ?(?:[0-9] ?){5}))$",
message: this.$t("please_fill_a_phonenumber"),
trigger: "blur",
},
],
有什么明显的我忽略了吗?
【问题讨论】:
-
您正在使用数字输入字段 (
v-model.number)。数字没有前导零。 -
^^ 罗比所说的:vuejs.org/v2/api/#v-model: "
.number- 将有效的输入字符串转换为数字" 电话号码不是数字(尽管有“数字”这个词以名称)。
标签: javascript vue.js element-io