Existe-t-il un moyen intégré à jQuery pour "mettre en majuscule" une chaîne de caractères ? Ainsi, si l'on donne quelque chose comme "bob smith", cela devient "Bob Smith" ?
Réponses
Trop de publicités?
SajithG
Points
120
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
$('.clsToTitleCase').keyup(function () {
this.value = this.value.replace(/(?:^|\s)\w/g, function (match) {
return match.toUpperCase();
})
});
})
</script>
<body>
<input class='clsToTitleCase' type='text'>
</body>
</html>
Pritam Jyoti Ray
Points
219
Cheryl Miller
Points
46
J'ai légèrement modifié le code de rBizzle. Je ne veux pas m'embêter avec les McClouds et les McIntoshs du monde (j'écoute de la musique celtique en ce moment !), j'ai donc ajouté une condition pour ne modifier que si TOUTES LES MAJUSCULES ou TOUTES les minuscules :
function isUpperCase(str) {
return str === str.toUpperCase();
}
function isLowerCase(str) {
return str === str.toLowerCase();
}
function toProperCase(str) {
//only mess with it if it is all lower or upper case letters
if (isUpperCase(str) || isLowerCase(str)){
var lcStr = str.toLowerCase();
return lcStr.replace(/(?:^|\s)\w/g, function(match) {
return match.toUpperCase();
});
} else {
return str;
}
}
J'essaie surtout de faire face aux utilisateurs QUI INSISTENT POUR CRIER LEUR ENTRÉE DE DONNÉES ! C'est une chose pour les données internes, mais quand les clients vont les voir, je dois fixer des limites.
- Réponses précédentes
- Plus de réponses