我的任务是创建一个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