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

ASP.NET C# 限制使用者輸入首字元為英數字驗證程式碼

     編輯:ASP.NET 基礎

需求

使用者名稱第一個字元必須為 0-9、a-z、A-Z。

原始碼改良版


protected void Button3_Click(object sender, EventArgs e)
{
    string input = TextBox1.Text.Trim();
    if (string.IsNullOrEmpty(input))
    {
        ShowAlert("使用者名稱不可為空!");
        return;
    }

    char first = input[0];
    bool isValid = char.IsLetterOrDigit(first); // 內建方法涵蓋 0-9, a-z, A-Z

    ShowAlert(isValid ? "合法使用者名稱,可使用!" : "第一個字元必須為英數字!");
}

private void ShowAlert(string msg)
{
    ClientScript.RegisterStartupScript(GetType(), "alert", $"alert('{msg.Replace("'", "\\'")}');", true);
}

改進說明

  • 使用 char.IsLetterOrDigit 替代手工字元陣列比對,程式碼簡潔、效能更好、支援完整 Unicode 字母數字。
  • 移除冗餘計數器邏輯,直接布林判斷。
  • 統一彈窗方法,避免重複 RegisterStartupScript 程式碼。
  • 前端建議同步加入 pattern="[A-Za-z0-9].*" 屬性於 <input>,提供即時視覺回饋。

擴充:伺服器端正則驗證


if (!Regex.IsMatch(input, @"^[A-Za-z0-9]"))
    ShowAlert("第一個字元必須為英數字!");

正則優勢:易於擴充規則(如長度、允許底線、禁止連續特殊字元等)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved