雖然沒準備什麼資料
  • JS魔法學院
    • JS表單
    • 教程
    • 練習題
  • AI
  • 程式相關
    • CSS
    • Javascript
  • 試題與解答
    • 微生物免疫
    • 化學
    • 生物輸送
  • 台式外語
    • 韓國語
    • 日本語
  • 有趣網站
首頁 » 用 JavaScript 驗證台灣手機號碼格式
JS表單JS魔法學院

用 JavaScript 驗證台灣手機號碼格式

by Jamic 2024-12-18
2.1K

在現代網頁開發中,對使用者輸入的資料進行驗證是一個非常重要的環節。對於台灣的手機號碼,驗證其格式的正確性不僅可以避免資料輸入錯誤,還能提升用戶體驗。本篇文章將詳細介紹如何使用 JavaScript 驗證台灣手機號碼的格式,並提供一個實用範例。

台灣手機號碼格式規範

台灣的手機號碼通常符合以下規則:

  1. 手機號碼為 10 位數字。
  2. 必須以 09 開頭。
  3. 第三位數字必須是 1 到 9(不能是 0)。
  4. 後面 7 位是任意數字。

根據上述規則,我們可以利用正規表達式進行驗證。

正規表達式設計

以下是用於匹配台灣手機號碼的正規表達式:

const taiwanMobileRegex = /^09[1-9]\d{7}$/;

解釋:

  • ^:匹配字串的開頭。
  • 09:表示號碼必須以 09 開頭。
  • [1-9]:第三位數字必須是 1-9。
  • \d{7}:匹配接下來的 7 位數字(\d 表示數字,{7} 表示重複 7 次)。
  • $:匹配字串的結尾。

這樣,我們就可以確保輸入的手機號碼完全符合台灣的手機號碼格式。

實用範例

HTML表單

<form id="mobileForm">
  <label for="mobile">請輸入手機號碼:</label>
  <input type="text" id="mobile" placeholder="例如:0912345678">
  <p id="errorMessage" style="color: red; display: none;">手機號碼格式不正確!</p>
  <button type="submit">送出</button>
</form>

JavaScript 驗證邏輯

document.getElementById("mobileForm").addEventListener("submit", function(event) {
    event.preventDefault(); // 阻止表單提交

    const mobileInput = document.getElementById("mobile").value;
    const errorMessage = document.getElementById("errorMessage");

    if (isValidTaiwanMobile(mobileInput)) {
        alert("手機號碼格式正確!");
        errorMessage.style.display = "none";
    } else {
        errorMessage.style.display = "block";
    }
});

function isValidTaiwanMobile(phone) {
    const taiwanMobileRegex = /^09[1-9]\d{7}$/;
    return taiwanMobileRegex.test(phone);
}

強化驗證與使用者體驗

為了進一步提升驗證的準確性與使用者體驗,可以考慮以下改進:

1.去除空格或其他符號 使用 .replace() 方法去除空格或破折號:

const cleanPhone = phone.replace(/\s|-/g, "");

2.提示輸入格式 在錯誤提示中加入說明,例如「請輸入 10 位數字,格式為 0912345678」。


探索更多來自 雖然沒準備什麼資料 的內容

訂閱即可透過電子郵件收到最新文章。

formjavascript
分享 0 FacebookTwitterLINEEmail

留個言 取消回覆

將姓名、email存到這個瀏覽器,以便下次使用

使用電子郵件訂閱網站

輸入你的電子郵件地址訂閱網站的新文章,使用電子郵件接收新通知。

最新文章

  • React useRef × BootStrap Modal 筆記

    2026-01-14
  • 7-11 雙蔬鮪魚飯糰

    2025-10-30
  • 保持專注的秘訣

    2025-10-29
  • Cursor Zeabur 插件 vs GitHub 綁定部署

    2025-07-30
  • Product Brief Template — AI 建構式應用產品

    2025-07-10

文章分類

  • JS魔法學院 (7)
    • JS表單 (1)
    • 教程 (4)
    • 練習題 (2)
  • React教學 (1)
    • BootStrap (1)
  • soledad佈景主題 (1)
    • 單篇文章 (1)
  • Vue3學院 (2)
    • watch (1)
    • 設定 (1)
  • Wordpress外掛介紹 (1)
  • 台式外語 (5)
    • 日本語 (3)
    • 英語 (1)
    • 韓國語 (1)
  • 外食成份 (1)
  • 好書介紹 (3)
  • 小孩相關 (1)
  • 投資理財 (11)
    • 定存 (2)
    • 股票 (9)
      • 台股 (1)
      • 美股 (3)
  • 效率 (1)
  • 有趣網站 (1)
  • 未分類 (1)
  • 程式相關 (11)
    • AI (5)
    • CSS (1)
    • google sheets (1)
    • Javascript (1)
    • 豆知識 (2)
  • 網站部署 (1)
  • 試題與解答 (12)
    • 儀器分析 (1)
    • 專利研究 (2)
    • 微生物免疫 (8)
    • 醫用統計學 (1)

網站統計

  • 0
  • 10
  • 10
  • 313
  • 6,659
  • 4,801
  • 59
  • 2026-01-14

© 2023 雖然沒準備什麼資料

雖然沒準備什麼資料
  • JS魔法學院
    • JS表單
    • 教程
    • 練習題
  • AI
  • 程式相關
    • CSS
    • Javascript
  • 試題與解答
    • 微生物免疫
    • 化學
    • 生物輸送
  • 台式外語
    • 韓國語
    • 日本語
  • 有趣網站