【问题标题】:Regex pattern for lowercase letters, optional digits, and constrained length小写字母、可选数字和受限长度的正则表达式模式
【发布时间】:2012-01-03 11:22:49
【问题描述】:

如果字符串满足以下条件,JavaScript 和 PHP 正则表达式模式是什么:

  1. 字符串应介于(包括)4 到 20 个字符之间
  2. 它只能包含小写字母和可选的数字。
  3. 必须至少包含 1 个字母

可接受以下字符串格式:

  • randy
  • randy39
  • 39randy
  • r789456123

以下是不可接受的:

  • ran
  • 3546
  • r_andy
  • __3912

【问题讨论】:

  • 你有没有尝试过解决你的任务或者你只是为了社区做你的工作?
  • 我试过 /^([a-z0-9]){3,5}$/
  • 如果您需要捕获括号,请尝试 /^([a-z0-9]{4,20})$/ 或 /^[a-z0-9]{4,20}$ / 如果你不这样做,但这不会测试至少 1 个 alpha

标签: php javascript regex


【解决方案1】:

您可以使用lookahead assertion 来验证字符串在某处是否包含字母。

/^(?=.*[a-z])[a-z0-9]{4,20}$/

(请参阅this reFiddle example 的实际操作)

这应该适用于 JavaScript 和 PHP。

【讨论】:

    【解决方案2】:

    使用两个正则表达式:/^[a-z0-9]{4,20}$//[a-z]/(PHP 和 Javascript 之间的实际语法可能不同)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多