J'ai un champ de texte qui ne doit rester que du texte ou des nombres décimaux. Voici le code que j'utilise actuellement pour tout remplacer, sauf les nombres et un point décimal. Le problème est que je ne peux pas trouver une regex qui identifiera tout le reste
document.getElementById(target).value = newVal.replace(/\D[^\.]/g, "");
Le \ D fonctionne bien, mais j'ai essayé (?!.), (?!\.), [^.], [^\.]
et ainsi de suite ...
Des suggestions pour une expression régulière qui s'identifie positivement avec autre chose qu'un nombre ou une décimale?
Merci pour l'aide
javascript
regex
guildesbounty
la source
la source
Réponses:
Utilisez ceci:
la source
parseFloat("46554.4655465.54654.545345.5") = 46554.4655465
La suppression uniquement de la partie décimale peut être effectuée comme suit:
Cela convertirait 13,6667px en 13px (laissant les unités px intactes).
la source
Essaye ça:
document.getElementById(target).value = newVal.replace(/^\d+(\.\d{0,2})?$/, "");
la source
Vérifiez le lien Démo Expression régulière
utilisez le reg exp ci-dessous
[az] + [^ 0-9 \ s.] + |. (?! \ d)
la source