我的任务是创建一个php文件,该文件将检查来自html get的名称,其基础如下:
它可以是a-z的小写或大写字母
长度不超过25个字符
同时添加商标作为例外
我不知道我会用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}$/';

最佳答案

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

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

m设置了多行和i不区分大小写的修饰符
如果教授要求(?<!\s),回复它是一个否定的lookbehind,以确保结尾没有尾随空格。
Live demo

07-24 15:55