ctype_xdigit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_xdigit Auf Hexadezimalziffern überprüfen

Beschreibung

ctype_xdigit ( mixed $text ) : bool

Prüft jedes Zeichen in text eine Hexadezimalziffer ist, also eine Dezimalziffer oder ein Zeichen aus [A-Fa-f].

Parameter-Liste

text

Der zu prüfende String.

Hinweis:

Wenn ein int zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII-Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des erweiterten ASCII-Zeichensatzes zu erlauben). Alle anderen Integer werden wie eine Zeichenkette interpretiert, welche die dezimalen Ziffern des Integers enthält.

Rückgabewerte

Liefert true wenn jedes Zeichen in text eine Hexadezimalziffer ist, sonst false.

Beispiele

Beispiel #1 ctype_xdigit() Beispiel

<?php
$strings 
= array('AB10BC99''AR1012''ab12bc99');
foreach (
$strings as $testcase) {
    if (
ctype_xdigit($testcase)) {
        echo 
"Der String $testcase besteht aus Hexadezimalziffern.\n";
    } else {
        echo 
"Der String $testcase enthält nicht nur Hexadezimalziffern.\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der String AB10BC99 besteht aus Hexadezimalziffern.
Der String AR1012 enthält nicht nur Hexadezimalziffern.
Der String ab12bc99 besteht aus Hexadezimalziffern.

Siehe auch

add a note add a note

User Contributed Notes 1 note

up
15
tom at hgmail dot com
18 years ago
This function shows its usefulness on a web site where a user is asked to entered a hexidecimal color code for a color. To prevent breaking W3C standard and having them enter in "neon-green" or the wrong type of code like 355511235.

In conjunction with strlen()  you could create a function like this:

function check_valid_colorhex($colorCode) {
    // If user accidentally passed along the # sign, strip it off
    $colorCode = ltrim($colorCode, '#');

    if (
          ctype_xdigit($colorCode) &&
          (strlen($colorCode) == 6 || strlen($colorCode) == 3))
               return true;

    else return false;
}
To Top