Heim  >  Artikel  >  Backend-Entwicklung  >  So validieren Sie das Mobiltelefonnummern- oder Festnetznummernformat mit einem regulären PHP-Ausdruck

So validieren Sie das Mobiltelefonnummern- oder Festnetznummernformat mit einem regulären PHP-Ausdruck

WBOY
WBOYOriginal
2023-06-24 08:30:062305Durchsuche

Bei der Entwicklung von Webanwendungen muss häufig überprüft werden, ob die vom Benutzer eingegebene Mobiltelefonnummer oder Festnetznummer im richtigen Format vorliegt. Um die Überprüfung zu erleichtern und den Benutzer rechtzeitig zu informieren, wenn die Eingabe falsch ist, können wir mithilfe regulärer Ausdrücke in PHP erkennen, ob das Zahlenformat den Anforderungen entspricht.

Im Folgenden wird erläutert, wie Sie mit regulären PHP-Ausdrücken das Mobiltelefonnummern- oder Festnetznummernformat überprüfen.

Format der Mobiltelefonnummer überprüfen

Mobiltelefonnummern auf dem chinesischen Festland sind 11-stellig und beginnen mit 1. Zur Überprüfung können Sie den folgenden regulären Ausdruck verwenden:

$phone_pattern = '/^1d{10}$/';

wobei:

  • ^ bedeutet, dass die Zeichenfolge vom Anfang an übereinstimmt
  • 1 bedeutet, dass sie mit der Zahl 1 beginnen muss
  • d bedeutet, dass ein beliebiges numerisches Zeichen übereinstimmt
  • {10 } bedeutet übereinstimmende Zahlen. Zeichen, die 10 Mal wiederholt werden
  • $ bedeutet Übereinstimmung mit dem Ende der Zeichenfolge

Dieser reguläre Ausdruck kann die Überprüfung von 11 Ziffern und Bedingungen garantieren, die mit 1 beginnen. Wenn Sie es auf PHP-Code anwenden, erhalten Sie das folgende Beispiel:

function check_mobile($mobile) {
    $phone_pattern = '/^1d{10}$/';
    if (preg_match($phone_pattern, $mobile)) {
        return true;
    } else {
        return false;
    }
}

// 示例测试
$mobile = '13712341234';
if (check_mobile($mobile)) {
    echo "手机号码格式正确";
} else {
    echo "手机号码格式错误";
}

Überprüfen Sie das Festnetznummernformat

Das Festnetznummernformat ist relativ komplex und das Festnetznummernformat ist in verschiedenen Regionen unterschiedlich. Beispielsweise ist die Festnetznummer in Peking unterschiedlich ist 10 Ziffern, beginnend mit der Nummer 1. Oder beginnend mit 2, die Festnetznummer in Shanghai ist 8 oder 9 Ziffern, beginnend mit der Nummer 2 usw. Um eine universelle Funktion zur Überprüfung des Festnetznummernformats zu implementieren, müssen unterschiedliche reguläre Ausdrücke für unterschiedliche Festnetznummernformate geschrieben werden.

Im Folgenden werden Festnetznummern in Peking und Shanghai als Beispiele verwendet, um zu demonstrieren, wie die entsprechenden regulären Ausdrücke geschrieben werden.

Festnetznummern im Raum Peking

Festnetznummern in Peking beginnen mit der Zahl 1 oder 2, gefolgt von 8 Ziffern. Sie können den folgenden regulären Ausdruck zur Überprüfung verwenden:

$tel_pattern = '/^(010|02d)d{8}$/';

wobei:

  • ^ bedeutet Übereinstimmung vom Anfang der Zeichenfolge
  • (010|02d) bedeutet drei Ziffern beginnend mit 010 oder 02, | bedeutet Übereinstimmung beliebige numerische Zeichen
  • d{8} bedeutet Übereinstimmung mit 8 numerischen Zeichen
  • $ bedeutet Übereinstimmung mit dem Ende der Zeichenfolge

Dieser reguläre Ausdruck kann die Bedingung garantieren, dass überprüft wird, ob die Zahl mit 1 oder 2 beginnt und von 8 gefolgt wird numerische Zeichen. Wenn Sie dies auf PHP-Code anwenden, erhalten Sie das folgende Beispiel:

function check_tel_beijing($tel) {
    $tel_pattern = '/^(010|02d)d{8}$/';
    if (preg_match($tel_pattern, $tel)) {
        return true;
    } else {
        return false;
    }
}

// 示例测试
$tel = '01012345678';
if (check_tel_beijing($tel)) {
    echo "座机号码格式正确";
} else {
    echo "座机号码格式错误";
}

Festnetznummer im Raum Shanghai

Die Festnetznummer in Shanghai beginnt mit der Zahl 2, gefolgt von 8 oder 9 Ziffern. Zur Überprüfung können Sie den folgenden regulären Ausdruck verwenden:

$tel_pattern = '/^2d{7}(?:d{1})?$/';

wobei:

  • ^ bedeutet, dass die Zeichenfolge vom Anfang an übereinstimmt
  • 2 bedeutet, dass sie mit der Zahl 2 beginnen muss
  • d{7} bedeutet, dass 7 numerische Zeichen übereinstimmen
  • (? :d{1})? bedeutet Übereinstimmung mit einem numerischen Zeichen, ?: bedeutet eine nicht erfassende Gruppe, ? bedeutet, dass die Gruppe optional ist
  • $ bedeutet Übereinstimmung mit dem Ende der Zeichenfolge

Dieser reguläre Ausdruck kann sicherstellen dass die Überprüfung mit der Zahl 2 beginnt und von der Bedingung 8 oder 9 numerische Zeichen gefolgt wird. Wenn Sie dies auf PHP-Code anwenden, erhalten Sie das folgende Beispiel:

function check_tel_shanghai($tel) {
    $tel_pattern = '/^2d{7}(?:d{1})?$/';
    if (preg_match($tel_pattern, $tel)) {
        return true;
    } else {
        return false;
    }
}

// 示例测试
$tel = '0211234567';
if (check_tel_shanghai($tel)) {
    echo "座机号码格式正确";
} else {
    echo "座机号码格式错误";
}

Zusammenfassung

Durch die Verwendung regulärer PHP-Ausdrücke zur Überprüfung von Mobiltelefonnummern- und Festnetznummernformaten kann die Genauigkeit von Benutzereingabedaten in Webanwendungen effektiv verbessert werden. In diesem Artikel wird das Schreiben regulärer Ausdrücke zur Überprüfung vorgestellt, die für die gängigsten Mobiltelefonnummern- und Festnetznummernformate geeignet sind und bei Bedarf auch geändert und erweitert werden können.

Das obige ist der detaillierte Inhalt vonSo validieren Sie das Mobiltelefonnummern- oder Festnetznummernformat mit einem regulären PHP-Ausdruck. 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