【问题标题】:Validate that string contains only numbers, letters, and underscores验证字符串仅包含数字、字母和下划线
【发布时间】:2026-01-10 17:30:01
【问题描述】:

如何检查字符串是否包含无效字符?

我想使用 PHP 将每个用户的用户名限制为包含数字、字母和下划线。

【问题讨论】:

    标签: php validation


    【解决方案1】:

    你可以使用正则表达式:

    if (preg_match("^[0-9A-Za-z_]+$", username) == 0) {
        echo "<p>Invalid username</p>";
    }
    

    【讨论】:

      【解决方案2】:

      试试:

      <?php
      function IsSafe($string)
      {
          if(preg_match('/[^a-zA-Z0-9_]/', $string) == 0)
          {
              return true;
          }
          else
          {
              return false;
          }
      }
      ?>
      

      【讨论】:

      • 你还不如返回 (preg_match('/[^a-zA-Z0-9_]/', $string) == 0)
      • @Art 从技术上讲 preg_match 返回一个 int,因此存在细微差别
      最近更新 更多