正则表达式 - 匹配 parsley.js 中的整个单词

Regex - match whole word in parsley.js

如何用 parsley.js' data-parsley-pattern 属性中的 or(|) 操作数匹配两个完整的单词?

如您所见,我想匹配单词 usermoderator

我试过:data-parsley-pattern="/(user|moderator)/" 这是正常的正则表达式,可以与其他标准化的正则表达式匹配一起使用,例如 regex101.com: https://regex101.com/r/kD7sR1/1

查看 data-parsley-pattern 2.0 documentation:

Validates that a value matches a specific regular expression (regex). Note that patterns are anchored, i.e. must match the whole string. Parsley deviates from the standard for patterns looking like /pattern/{flag}; these are interpreted as litteral regexp and are not anchored.

看来你的正则表达式应该可以工作了。

如果没有,试试

data-parsley-pattern="/[\s\S]*(user|moderator)[\s\S]*/"

[\s\S]* 将匹配零个或多个字符(任何字符,包括换行符)。

只要您使用 /.../ 的完整形式,您的模式就应该有效,否则该模式将被锚定。您甚至不需要括号,但它们也不会造成伤害。

这里有一个 working demo 简单地使用

<input data-parsley-pattern="/user|moderator/" type="text" name="fullname" required>