Quelle est la meilleure façon de voir si une chaîne contient toutes les lettres majuscules? Je veux toujours que la fonction renvoie true si la chaîne contient également des symboles ou des nombres.Vérifiez si une chaîne est tout CAPS en PHP
Répondre
Si vous souhaitez que les numéros inclus (et par « symboles » plus tout le reste), alors ce que vous essayez réellement de tester est l'absence de lettres minuscules:
$all_upper = !preg_match("/[a-z]/", $string)
Vous pouvez utiliser preg_match()
. L'expression régulière serait /^[^a-z]+$/
.
return preg_match('/^[^a-z]+$/', $string) === 1 ? true : false;
Voici la documentation de preg_match().
solution PCRE:
$all_uppercase = preg_match('#^[A-Z]+$#', $string);
assurez-vous de ne pas utiliser 'i' modificateur
if(mb_strtoupper($string)===$string)
{
do the required task
}
else
{
some other task
}
Vous devez fournir 'utf-8' comme second argument ie.mb_strtoupper ('øæåØÆÅabcABC', 'utf-8'); –
Comme cette réponse attire l'attention, il est intéressant de noter qu'elle ne répond pas correctement à la question, car elle ne tient pas compte des nombres, comme demandé par l'auteur. – JCM
Il convient de noter que les fonctions Ctype font partie des 'Variable and Type Related Extensions'. Il faut aussi noter que le support intégré pour ctype est disponible depuis PHP 4.3.0. –
ctype_upper retournera false si la chaîne contient un nombre. Voir ma solution ci-dessous. –
Je pense que vous êtes à la recherche de cette fonction
$myString = "ABCDE";
if (ctype_upper($myString)) // returns true if is fully uppercase
{
echo "the string $myString is fully uppercase";
}
Hope it helps
Notez que les fonctions Ctype font partie des 'Variable and Type Related Extensions'. Il faut aussi noter que le support intégré pour ctype est disponible depuis PHP 4.3.0. –
Outre le commentaire de Alexander Morland sur la réponse de Winston Ewert si vous avez besoin pour traiter utf-8 caractères accentués, vous pouvez utiliser l'ensemble des fonctions suivantes:
define('CHARSET', 'utf-8');
function custom_substr($content='',$pos_start=0,$num_char=1){
$substr='';
if(function_exists('mb_substr')){
$substr=mb_substr($content,$pos_start,$num_char,CHARSET);
}
else{
$substr=substr($content,$pos_start,$num_char);
}
return $substr;
}
function custom_str_case($string='', $case='lower'){
$lower = array(
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u",
"v", "w", "x", "y", "z", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï",
"ð", "ñ", "ò", "ó", "ô", "õ", "ö", "ø", "ù", "ú", "û", "ü", "ý", "а", "б", "в", "г", "д", "е", "ё", "ж",
"з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы",
"ь", "э", "ю", "я"
);
$upper = array(
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U",
"V", "W", "X", "Y", "Z", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï",
"Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж",
"З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ъ",
"Ь", "Э", "Ю", "Я"
);
if($case=='lower'){
$string = str_replace($upper, $lower, $string);
}
else{
$string = str_replace($lower, $upper, $string);
}
return $string;
}
function custom_strtolower($string){
return custom_str_case($string,'lower');
}
function custom_strtoupper($string){
return custom_str_case($string,'upper');
}
function custom_ucfirst($string){
$string=custom_strtolower($string);
$first_char=custom_substr($string,0,1);
$rest_char=custom_substr($string,1,custom_strlen($string));
$first_char=custom_strtoupper($first_char);
return $first_char.$rest_char;
}
function is_uppercase($string=''){
$is_uppercase=false;
if($string === custom_strtoupper($string)) {
$is_uppercase=true;
}
return $is_uppercase;
}
function is_ucfirst($string=''){
$first_char=custom_substr($string,0,1);
$is_ucfirst=is_uppercase($first_char);
return $is_ucfirst;
}
Ressources :: https://github.com/rafasashi/PHP-Custom-String-Functions
Voici comment je gère le texte ALL CAPS pour mes commentaires.
if ($str == strtoupper($str))
{
$str = ucfirst(strtolower($str));
}
- 1. Vérifiez si la chaîne contient tout "?"
- 2. Vérifiez si la chaîne est sérialisée en PHP
- 3. Vérifiez si une chaîne commence par un numéro en PHP
- 4. Vérifiez si une chaîne est codée en UTF-8
- 5. Vérifiez si une chaîne particulière est dans un fichier bash
- 6. PHP: Vérifiez si 0?
- 7. Vérifiez si un script php est toujours en cours d'exécution
- 8. variable Vérifiez si explosera-mesure en PHP
- 9. Vérifiez si un répertoire existe en PHP
- 10. Vérifiez si au moins 75% d'une chaîne est MAJUSCULES
- 11. Vérifiez si l'URL est indexée par Google en utilisant PHP
- 12. PHP: Vérifiez si URL redirige?
- 13. Teste si une chaîne est codée en URL dans PHP
- 14. jQuery: Vérifiez si le caractère est dans la chaîne
- 15. Vérifiez si une variable est un tableau
- 16. Vérifiez si un fichier est une image
- 17. Vérifiez si une date donnée est passée
- 18. Vérifiez si une chaîne se termine par un nombre en PHP
- 19. Vérifiez si la chaîne est un horodatage unix
- 20. Vérifiez si une socket est déconnectée en C, sans select()
- 21. Vérifiez si UIView est touché?
- 22. Vérifiez pour tout type int en C#?
- 23. En utilisant ant, vérifiez si une chaîne particulière est trouvée dans un fichier
- 24. Vérifiez si un fichier PDF est corrompu avec PHP
- 25. Vérifiez si l'utilisateur est connecté
- 26. Comment nettoyer une chaîne en supprimant tout ce qui est pas une lettre en PHP
- 27. Vérifiez si la chaîne contient une plage de nombres
- 28. Vérifiez si une variable contient une valeur numérique en Javascript?
- 29. PHP Symfony - Inside Filtre, vérifiez si l'action est sécurisée?
- 30. Vérifiez si le tampon Emacs actuel contient une chaîne
Vous trouverez peut-être [ 's ($ str) -> isUpperCase()'] (https://github.com/delight-im/PHP-Str/blob/ea3e40132e9d4ce27da337dae6286f2478b15f56/src/Str.php# L262) utile, tel que trouvé dans [cette bibliothèque autonome] (https://github.com/delight-im/PHP-Str). – caw
Voir ma solution ci-dessous - aucune regex ou fonctions requises pour cela. –