Regex parsley.js正则表达式不起作用

Regex parsley.js正则表达式不起作用,regex,parsley.js,Regex,Parsley.js,我使用RegExr创建了一个regex,它在那里工作。模式是: data-parsley-pattern="/[1|2|3|4|5|i|l|I|L][a-k|m-n|p-z|A-K|M-N|P-Z][a-k|m-n|p-z|A-K|M-N|P-Z][a-k|m-n|p-z|A-K|M-N|P-Z][a-k|m-n|p-z|A-K|M-N|P-Z][a-k|m-n|p-z|A-K|M-N|P-Z]" 我试图将提交的内容限制在数字1-5(但也接受“I”和“l”),然后是五个字母(不包括“l”和“o

我使用RegExr创建了一个regex,它在那里工作。模式是:

data-parsley-pattern="/[1|2|3|4|5|i|l|I|L][a-k|m-n|p-z|A-K|M-N|P-Z][a-k|m-n|p-z|A-K|M-N|P-Z][a-k|m-n|p-z|A-K|M-N|P-Z][a-k|m-n|p-z|A-K|M-N|P-Z][a-k|m-n|p-z|A-K|M-N|P-Z]"
我试图将提交的内容限制在数字1-5(但也接受“I”和“l”),然后是五个字母(不包括“l”和“o”)。所有内容都不区分大小写

表达式工作正常,只是不是欧芹模式


知道我做错了什么吗?

您没有正确编写正则表达式

您需要将模式更改为:

data-parsley-pattern="[1-5ilIL][a-km-np-zA-KM-NP-Z][a-km-np-zA-KM-NP-Z][a-km-np-zA-KM-NP-Z][a-km-np-zA-KM-NP-Z][a-km-np-zA-KM-NP-Z]"
您还可以使用
{}

data-parsley-pattern="[1-5ilIL][a-km-np-zA-KM-NP-Z]{5}"
如果您希望允许1到5倍于您的类,您可以使用:

data-parsley-pattern="[1-5ilIL][a-km-np-zA-KM-NP-Z]{1,5}"
顺便说一句,如果您想确保
/
存在,那么您需要添加它和正则表达式的开头。我刚把它删除了,因为我觉得它是个打字错误


管道|用于分离模式,例如
wordA | wordB
匹配wordA或wordB的模式。但是您在类中分隔字符
[]
类允许您选择允许的字符,例如[aBpu],这将只匹配一个字符a、B、p或u

也许可以简化一下:
[1-5ilIL][a-km-np-zA-km-np-Z]{5}
除了正则表达式上缺少分隔符(应该会导致错误),它与
[1-5ilIL}][a-KMNP-zA-KMNP-Z}{5}相同