使用可选模式检查用户名

我想检查 PHP 中的用户名是否满足以下条件:

  • 必须以字母开头(一个或多个

  • 可以包含字母(可选,任意长度)、数字(可选,任意长度)或下划线(可选,仅一个

  • 必须以字母数字字符结尾

  • 字母不区分大小写

如何使用preg_match()函数匹配此模式?

这是我尝试过的模式。但我不知道如何设置可选量词:

^[a-z][a-z0-9_]*[a-z0-9]$


开满天机
浏览 35回答 1
1回答

慕田峪7331174

您的模式几乎可以工作,但它允许多个下划线。为了防止这种情况,您可以使用以下模式:^[a-z][a-z0-9]*_?[a-z0-9]+$细节:^          # Beginning of the string.[a-z]      # Matches exactly one English letter.[a-z0-9]*  # Matches zero or more English alphanumeric character (i.e., letter or digit)._?         # Matches zero or one underscore characters.[a-z0-9]+  # Matches one or more English alphanumeric characters.$          # End of the string.请注意,为了使其不区分大小写,您需要使用修饰符i(即/pattern/i)或使用a-zA-Z而不是仅a-z在所有字符类中使用。
打开App,查看更多内容
随时随地看视频慕课网APP