vue 输入电话号码自动按3 4 4 显示数据,最后得到的电话号码没有空格
时间: 2024-03-08 16:47:27 浏览: 336
如果您不想在最终得到的电话号码中包含空格,可以使用如下代码:
```
<template>
<div>
<input type="text" v-model="phoneNumber" @input="formatPhoneNumber">
{{ phoneNumber }}
</div>
</template>
<script>
export default {
data() {
return {
phoneNumber: '',
};
},
methods: {
formatPhoneNumber() {
let phone = this.phoneNumber.replace(/\D/g, '');
if (phone.length > 3 && phone.length < 8) {
phone = phone.replace(/(\d{3})(\d+)/, '$1 $2');
} else if (phone.length >= 8) {
phone = phone.replace(/(\d{3})(\d{4})(\d+)/, '$1 $2 $3');
}
this.phoneNumber = phone;
},
},
};
</script>
```
这段代码中,我们使用了 @input 事件监听输入框内容的变化,并通过 formatPhoneNumber 方法来格式化电话号码。在格式化时,我们使用了正则表达式来按照3-4-4的格式分割电话号码,并在分割后添加空格。最终,我们将格式化后的电话号码赋值给 data 中的 phoneNumber 属性,从而在模板中显示。
阅读全文