Bonjour
je cherche à contrôler la saisie dans un input avec :
- une liste de caractères autorisés (cette partie fonctionne)
- que le texte tapé sois modifié à la volée selon le format Xxxxx-Xxxxxx c'est la que je séche
J'arrive bien à ce que le premier caractère soit en majuscule et que le reste soit en minuscule mais je n'arrive à mettre la majuscule après le tiret
Si quelqu'un pouvez m'aider ?
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 function verifprenom(chars) { // Caractères autorisés var regex = new RegExp(/[a-zA-Zàáâäçèéêëìíîïòóôöùúûü-]/, "i"); var valid; for (var x = 0; x < chars.value.length; x++) { valid = regex.test(chars.value.charAt(x)); if (valid === false) { chars.value = chars.value.substr(0, x) + chars.value.substr(x + 1, chars.value.length - x + 1); x--; } } var regexMajuscule = new RegExp(/(^.|-.)/g); chars.value = chars.value.replace(regexMajuscule, function (a) { if (a.startsWith('-')) { return '-' + a.charAt(1).toUpperCase() + a.substr(2).toLowerCase(); } else { return a.charAt(0).toUpperCase() + a.slice(1).toLowerCase(); } }); var regexFormat = new RegExp(/\S+(?:\s|$)/g); chars.value = chars.value.replace(regexFormat, function (word) { return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); }); }
Partager