Terima kasih semua terlebih dahulu Saya menulis Input dengan jenis = nombor Disebabkan keperluan perniagaan, hanya nombor yang boleh dimasukkan dalam Input ini, dan tanda tambah dan tolak tidak boleh dimasukkan.
Saya pada asalnya ingin menilai nilai dalam input dan memadamkan tanda tambah, tanda tolak dan titik berlebihan secara manual, tetapi saya mendapati bahawa apabila nilai yang dimasukkan adalah menyalahi undang-undang, nilai input telah ditukar menjadi rentetan kosong ''. Dengan cara ini saya tidak boleh mendapatkan nilai dalam input.
Saya telah memikirkannya untuk masa yang lama tetapi tidak tahu penyelesaiannya Tolong bantu saya, terima kasih~
By the way, saya menulis halaman dalam vue~~~
Gunakan ungkapan biasa untuk memadankan '^[-]?[0-9]*.?[0-9]+(eE?[0-9]+)?$'
Anda boleh menggunakan kaedah ini untuk memantau perubahan dalam nilai input Jika anda mendapati pengesahan gagal, anda akan digesa.
Siarkan js anda dan lihat
onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')"
type=number seharusnya tidak boleh menyekat pengguna secara langsung daripada memasukkan tanda positif dan negatif, e, dan berbilang titik perpuluhan.
Ia masih perlu dinilai dengan nilai input.
Bagi masalah nilai input adalah menyalahi undang-undang dan nilai input ditukar kepada rentetan kosong,
Anda boleh menukar jenis input kepada teks, dan kemudian menggunakan ungkapan biasa dan menggantikan untuk mengalih keluar bukan digit dan titik perpuluhan berbilang.
Kemudian anda boleh menggunakan v-model untuk mengikat nilai, dan kemudian memantau nilai melalui jam tangan Tetapi apabila anda menemui nilai yang tidak sah, padamkan sahaja rentetan yang tidak sah
<jenis input="tel" />