我想通过在Codeigniter的验证库中通过正则表达式运行来验证用户对帖子的索引标记的输入。
理想情况下,正则表达式具有以下条件:
在SO上有一些部分解决方案:
但他们没有完全解决我的问题。
有什么建议吗?
答案 0 :(得分:6)
如果你想要的只是验证,那么应该这样做:
^[a-zA-Z0-9]+(?:[ ,]+[a-zA-Z0-9]+){0,5}$
相同的正则表达式,但有评论和空格:
^ #beginning of string
[a-zA-Z0-9]+ #any sequence of alphanumeric letters
(?: #start of non capturing group
[\ ,]+ #between 1 and int delimiting chars
[a-zA-Z0-9]+ #again, any sequence of alphanumeric letters
) #end of non capturing group
{0,5} #allow between 0 and n-1 occurrences of preceding group
$ #end of string
要允许使用前导/尾随空格/逗号输入,请将正则表达式更改为:
^[ ,]*[a-zA-Z0-9]+(?:[ ,]+[a-zA-Z0-9]+){0,5}[ ,]*$
并进一步允许输入零标签,将正则表达式更改为:
^[ ,]*(?:[a-zA-Z0-9]+(?:[ ,]+[a-zA-Z0-9]+){0,5})?[ ,]*$
答案 1 :(得分:-1)
这是PCRE正则表达式:
^\w+[,\s]\w+\[,s]\w+[,\s]\w+[,\s]\w+[,\s]\w+$