首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 常用驗證正則:Email、URL、手機號碼一鍵複製

     編輯:PHP 相關知識

Email 驗證

function is_email($email) {
    return strlen($email) > 6 && preg_match('/^[\w.-]+@[\w-]+(\.\w+)+$/', $email);
}

URL 驗證

function is_url($str) {
    return preg_match('/^https?:\/\/[A-Za-z0-9.-]+\.[A-Za-z]{2,}([\/?#][^\s]*)?$/i', $str);
}

手機號碼驗證(中國大陸)

function is_mobile($str) {
    // 支援 13/14/15/17/18/19 開頭,共 11 位
    return preg_match('/^1[3-9]\d{9}$/', $str);
}

進階:分段驗證運營商

function mobile_carrier($mobile) {
    if (!preg_match('/^1[3-9]\d{9}$/', $mobile)) return false;
    $prefix = substr($mobile, 0, 3);
    $map = [
        '134','135','136','137','138','139','147','150','151','152','157','158','159','178','182','183','184','187','188','198' => '移動',
        '130','131','132','145','155','156','175','176','185','186','166' => '聯通',
        '133','149','153','173','177','180','181','189','199' => '電信',
        '170','171','172','174' => '虛擬運營商',
    ];
    foreach ($map as $prefixes => $carrier) {
        if (in_array($prefix, explode(',', $prefixes))) return $carrier;
    }
    return '未知';
}

使用提醒

  • 正則僅做格式檢查,真實性需發送驗證碼確認
  • 號段持續更新,建議封裝為可熱更新的配置或服務
  • 國際手機號請採用 libphonenumber 函式庫
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved