Bonjour,
j'aimerai interdire de rentrer des caractères spéciaux dans certains champs de mon formulaire d'inscription.
par exemple dans le champ "userName", interdire tout ce qui n'est pas alpha-numérique, ou "_" ou "-"
Ça fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function restrictive_userName() { var input = document.getElementById('input_userName'); while (input.value.match(/[^a-zA-Z0-9_-]/)) { input.value = input.value.replace(/[^a-zA-Z0-9_-]/,''); } }
J'ai voulu continuer avec le champ "email" auquel il faudrait la même règle que pour le "userName", avec en plus lui autoriser les caractères "@" et "."
Mais ce code fait planter tous les navigateurs avec lesquels j'ai essayé (FireFox, GoogleChrome, Opera, Safari)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function restrictive_email() { var input = document.getElementById('input_email'); while (input.value.match(/[^a-zA-Z0-9_-]/)) { input.value = input.value.replace(/[^a-zA-Z0-9_\.-]/,''); } }
si j'enlève le "\." ça fonctionne, si je le laisse ça plante.
Fonctionne :
Plante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part /[^a-zA-Z0-9_-]/
Plante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part /[^a-zA-Z0-9_\.-]/
(je rajouterai le "@" quand ça fonctionnera...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part /[^a-zA-Z0-9_\\.-]/
Partager