Sebarang bantuan dengan isu kecil tetapi sangat mengecewakan akan sangat dihargai. Saya sedang membangunkan projek Vue menggunakan perpustakaan elemen tambah. Input pengguna: '123456789' Saya perlu menghubungi: '+998-(12) 345-67-89
Element plus mempunyai pemformat, tetapi saya perlu menggunakan ungkapan biasa untuk membuatnya. Malangnya saya menghadapi masalah untuk membuatnya berfungsi. https://element-plus.org/en-US/component/input.html#formatter
Saya hanya menyemak nombor sekarang dan tidak dapat mengetahui lebih lanjut
<script setup> import { ref, unref } from 'vue' import { ElInput } from 'element-plus' const phoneNumber = ref('') </script> <template> <el-input v-model="phoneNumber" :formatter="(value) => value.replace(/D/g, '')" /> </template>
Anda boleh menggunakan ungkapan biasa berikut:
value.replace(/^\+998|\D/g, '').replace(/^(\d{1,2})(\d{1,3})?(\d{1,2})?(\d{1,2})?.*/, (m, g1, g2, g3, g4) => `+998-(${g1})` + (g2 ? `-${g2}` : '') + (g3 ? `-${g3}` : '') + (g4 ? `-${g4}` : '')))
Yang pertama .replace(/^+998|D/g, '')
刪除字符串開頭的 +998
(由成功的后續(xù)替換)和任何非數(shù)字字符,以及 replace(/^(d{1,2})(d{1,3})?(d{1,2})?( d{1,2})?.*/, (m, g1, g2, g3, g4) => `+998-(${g1})` + (g2 ? `-${g2}` : '' ) + (g3 ? `-${g3}` : '') + (g4 ? `-${g4}` : ''))
dilancarkan semasa anda menaip hanya jika perlu dengan menambah -
重新格式化數(shù)字>.