4

我的任务是创建一个 PHP 文件,该文件将检查来自 HTML GET 的名称,其基础如下:

  • 它可以来自小写或大写字母的 az
  • 25 个或更少的字符长度
  • 同时添加 TM 商标作为例外

我不知道我是否会为此使用 REGEX 或 STRIPOS。我的教授要我用 PHP 写这个。一些示例场景:

1. AdriaN = allow
2. $tackoverFlow = not allowed
3. StackoverFl0w = allowed
4. ™ Stack Over Flow ™ = Allowed
5. StækOverFlow = not allowed

到目前为止,这是我想出的,可以改进吗?

 $pattern = '/[a-zA-Z0-9\$\™]{1,24}$/';
4

1 回答 1

1

作为您的样本,您内部有一些允许的空间。所以我建议这个正则表达式:

/^[a-z\d™][a-z\d\s™]{1,24}(?<!\s)$/im

m设置了多行和i不区分大小写的修饰符

如果教授要求(?<!\s),回复它是一个否定的lookbehind,以确保末尾没有尾随空格。

现场演示

于 2014-08-12T07:48:29.280 回答