Saya memiliki bidang teks yang hanya perlu teks atau desimal. Berikut adalah kode yang saat ini saya gunakan untuk mengganti semuanya kecuali angka dan titik desimal. Masalahnya adalah, saya tidak dapat menemukan regex yang akan mengidentifikasi yang lainnya
document.getElementById(target).value = newVal.replace(/\D[^\.]/g, "");
\ D berfungsi dengan baik, tetapi saya sudah mencoba (?!.), (?!\.), [^.], [^\.]
dan seterusnya ...
Adakah saran untuk ekspresi reguler yang mengidentifikasi secara positif dengan apa pun kecuali angka atau desimal?
Terima kasih untuk bantuannya
javascript
regex
guildsbounty
sumber
sumber
Jawaban:
Gunakan ini:
sumber
parseFloat("46554.4655465.54654.545345.5") = 46554.4655465
Menghapus hanya bagian desimal dapat dilakukan sebagai berikut:
Ini akan mengubah 13.6667px menjadi 13px (membiarkan unit px tidak tersentuh).
sumber
Coba ini:
document.getElementById(target).value = newVal.replace(/^\d+(\.\d{0,2})?$/, "");
sumber
Periksa tautan Demo Ekspresi Reguler
gunakan reg exp di bawah ini
[az] + [^ 0-9 \ s.] + |. (?! \ d)
sumber