Heim >Backend-Entwicklung >PHP-Tutorial >Regulärer PHP-Ausdruck in Aktion: passende Benutzernamen

Regulärer PHP-Ausdruck in Aktion: passende Benutzernamen

王林
王林Original
2023-06-23 08:42:121452Durchsuche

In der Webentwicklung ist es häufig erforderlich, Formatbeschränkungen oder Formatprüfungen für Daten durchzuführen. PHP-reguläre Ausdrücke sind eines der leistungsstarken Tools für solche Vorgänge. In diesem Artikel erklären wir Ihnen anhand eines tatsächlichen Kampfes, wie Sie reguläre PHP-Ausdrücke verwenden, um Benutzernamen abzugleichen.

1. Anforderungen an den Benutzernamen

Zuerst müssen wir die Anforderungen an den Benutzernamen klären, damit wir wissen, welche Art von regulärem Ausdruck für den Abgleich verwendet werden muss. Im Allgemeinen sind die Anforderungen an den Benutzernamen wie folgt:

  • besteht aus Buchstaben, Zahlen oder Unterstrichen;
  • beginnt nicht mit einer Zahl;
  • erlaubt keine Sonderzeichen.
  • Basierend auf diesen Anforderungen können wir mit dem Schreiben regulärer Ausdrücke beginnen.

2. Reguläre Ausdrücke schreiben

Lassen Sie uns zunächst die regulären Ausdrücke analysieren, die für jede Anforderung verwendet werden müssen:

besteht aus Buchstaben, Zahlen oder Unterstrichen.
  • Diese Anforderung ist leicht zu erfüllen, verwenden Sie einfach den Zeichensatz [0-9a-zA-Z_].

Länge zwischen 6 und 20 Zeichen.
  • Diese Anforderung erfordert die Verwendung von Quantifizierern, d. h. {6,20} bedeutet, dass 6 bis 20 Zeichen übereinstimmen. Wir müssen den Zeichensatz zum Zeichensatz hinzufügen und erhalten schließlich: [0-9a-zA-Z_]{6,20}.

Beginnt nicht mit einer Zahl.
  • Diese Anforderung erfordert die Verwendung einer Behauptung mit der Breite Null, d. h. das Hinzufügen von (?=D) vor dem Zeichensatz bedeutet, dass die Übereinstimmung mit einer Nicht-Ziffer beginnen muss. Schließlich erhalten wir: (?=D)[0-9a-zA-Z_]{6,20}.

Keine Sonderzeichen erlaubt.
  • Diese Anforderung muss Sonderzeichen ausschließen. Wir können den ausgeschlossenen Zeichensatz

1 verwenden. Da es viele Zeichensätze gibt, die ausgeschlossen werden müssen, können wir den Unicode-Codierungsbereich verwenden, um die Zeichensätze darzustellen, die ausgeschlossen werden müssen: [u4e00-u9fa5uFE30-uFFA0u3000-u303F]|[s~!@#$%^ &*()_+= {}[]|;:'",.a8093152e673feb7aba1828c43532094/?·!¥......()—""[],;':",. ,? ]). ~!@#$%^&*()_+={}[]|;:'",.a8093152e673feb7aba1828c43532094/?·!¥……()—《》【】、;‘:“,。、?]。最终得到:(?=D)[0-9a-zA-Z_]{6,20}(?![u4e00-u9fa5uFE30-uFFA0u3000-u303F]|[s3. Verwenden Sie reguläre Ausdrücke zum Abgleichen

Da wir nun den regulären Ausdruck geschrieben haben, können wir zum Abgleichen die Funktion preg_match von PHP verwenden. Das Folgende ist ein Beispielcode:

function matchUsername($username) {
    $pattern = '/^(?=D)[0-9a-zA-Z_]{6,20}(?![u4e00-u9fa5uFE30-uFFA0u3000-u303F]|[s`~!@#$%^&*()_+={}[]|\;:'",.<>/?·!¥……()—《》【】、;‘:“,。、?])$/';
    if(preg_match($pattern, $username)) {
        return true;
    }
    return false;
}

$username1 = 'abcde';
$username2 = 'abcd@e';
$username3 = '1abcde';
$username4 = '123456789abcdefghi';
$username5 = '张三';
$username6 = 'abcdef张三';

var_dump(matchUsername($username1)); // true
var_dump(matchUsername($username2)); // false
var_dump(matchUsername($username3)); // false
var_dump(matchUsername($username4)); // false
var_dump(matchUsername($username5)); // false
var_dump(matchUsername($username6)); // false

Im Code definieren wir eine matchUsername-Funktion für den Abgleich und verwenden Testfälle, um sie jeweils zu überprüfen. Nachdem Sie den Code ausgeführt haben, können Sie sehen, dass mit Ausnahme von $username1 die restlichen Testfälle nicht übereinstimmen.

Bisher haben wir erklärt, wie man reguläre PHP-Ausdrücke verwendet, um Benutzernamen durch echte Kämpfe abzugleichen. Wir hoffen, dass es für Anfänger hilfreich ist.


Sonderzeichensatz

Das obige ist der detaillierte Inhalt vonRegulärer PHP-Ausdruck in Aktion: passende Benutzernamen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn